Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-10-2005
lento manu lento manu is offline
Miembro
 
Registrado: oct 2004
Posts: 29
Poder: 0
lento manu Va por buen camino
gracias por las aclaraciones

Gracias por tus aclaraciones, Lepe. Pero es un tema difícil de seguir, ya que realmente el compilador explota, y cuesta mucho encontrar el punto donde sucede esta explosión. He tenido este problema en el componente que discutimos en el hilo Override eventos On... (http://www.clubdelphi.com/foros/showthread.php?t=25540)
Si en el destroy del objeto repaso si debo destruir el objeto creado con
Código Delphi [-]
destructor TDBexplorer.Destroy;
begin
  if Modal then
    begin
      //no destruir si no es modal: error de assigned
      if Assigned(Explorador) then
        FreeAndNil(Explorador);
   end;
  inherited Destroy;
end;
he concluido lo que describo en el comentario //... Lo que quiere decir que si el Tform creado esta generado como no Modal, se ha liberado automáticamente por si mismo, por lo menos su puntero ¿no?, pero si es Modal si pasa por el código y realiza el FreeAndNil(Explorador). Depurando es muy difícil de seguir esto, ya que se reciben los típicos avisos de Access Violation Address con matrículas que a los mortales no nos dicen nada, y cuesta encontrar en que línea de código sucede, ya que el compilador no la muestra por defecto. Para mi, creo que este es el gran defecto de Delphi, por lo menos su talón de Aquiles.Y entiendo la opción de descartar estas llamadas, por impotencia. Actualmente tengo estos errores al cerrar un proyecto, no se cierra adecuadamente y tengo Access Violation Address ...in module rtl60.dpl se cuelga Delphi simplemente por abrir y cerrar el proyecto, pero no por depurarlo ¿...? incluso el exe rueda OK y no produce errores. Por supuesto cuando sale la ventana de las direcciones de memoria del compilador, para mi es peor que el chino, árabe y japonés todo junto. Si tenéis alguna pista, ...gracias a todos.
Responder Con Cita
  #2  
Antiguo 06-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
adlfv: FLista ¿de qué tipo es? Tiene toda la pinta de Tobjectlist o similar, y se puede destruir de otra forma más simple.

Obviamente los errores vienen aqui:
|01654424|CoreClassHab.bpl|UClassObjects.pas | |CoreClassHabDestroy |29 y 30
|01655442|CoreClassHab.bpl|UCHabitaciones.pas|THabitaciones |Destroy |429 |
|01654CD6|CoreClassHab.bpl|UCHabitaciones.pas|TBaseHabitacion|Destroy |195 |
|01658F68|CoreClassHab.bpl|UCGUIHab.pas |TGUIIcon |Destroy |127 |

En cuanto a la filosofia, lo veo muy complejo, "este ahora si lo tengo que liberar", "este otro no"... unifica criterios y objetos, los que tengan que liberarse a mano en un sitio y los demás a otro sitio.

Y siempre usa Freeandnil, ya que unos hacen referencias a otros.

lento manu:
Para el tema del número de linea revisa este hilo reciente

Saludos
Responder Con Cita
  #3  
Antiguo 06-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
¡¡ME VA A DAR UN INFARTO CEREBRAL !!

Ya he perdido la cuenta de cuantos temas se llevan en este hilo al mismo
tiempo. ¡¡¡ Por mi salud !!!, abrid un hilo distinto para
cada nueva pregunta que vaya saliendo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:56:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi