Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #15  
Antiguo 26-01-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Completo un poquito más:

Cita:
Empezado por jachguate Ver Mensaje
Lo que se crea en el OnCreate, debiera destruirse en el OnDestroy.
Y no tiene nada que ver que se creen dinámicamente o estáticamente las ventanas.

El ciclo de vida es el mismo para ambos tipos de Forms.


En honor a la verdad, poliburro ha detectado el fallo del access violation, pero creo no ha sabido explicarse porque tanto jachguate como yo lo hemos malinterpretado.

1º- Deja el StringList en el oncreate como lo tenías. Liberas la lista en el OnDestroy.

2º- El access violation es problema de cómo usas tus ventanas, no tiene nada que ver con el TStringList.

Si tu ventana se llama FrmClientes (por decir algo) y esa variable la usas en todas tus ventanas, en el Onclose añade:
Código Delphi [-]
procedure TFrmclientes.OnClose(... Action:TCloseAction);
begin 
  action := cafree;
  frmClientes := nil;
end;

cuando necesites usar la ventana de nuevo, comprueba si ya está abierta:
Código Delphi [-]
  if Frmclientes <> nil then
    // ya está abierta
  else
    FrmClientes := TFrmclientes.Create(self);

// y para cerrar la ventana:
 FrmClientes.Close;  // o incluso Frmclientes.Free, ambas funcionaran.

Si no usas la variable FrmCliente en tu aplicación, es decir, creas las ventanas así:
Código Delphi [-]
var f:TFrmClientes;
begin 

   f := TFrmclientes.Create(nil / application / self);

// o bien haces esto en alguna ocasión:
 with TFrmclientes.Create(...) do
 try 


 finally
    Free
 end;

Entonces no puedes usar el evento OnClose para poner la variable FrmClientes a nil, siempre deberías usar FreeandNil(f) o de la variable que uses.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 26-01-2008 a las 14:00:10.
Responder Con Cita
 


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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con borrado de componentes creados en tiempo de ejecución harpo OOP 5 22-12-2007 16:54:55
Borrar los Datasource Creados en tiempo de ejecucion Nieto OOP 2 29-11-2007 22:12:19
Destruir Qrlabels creados en tiempo de ejecucion Ade Impresión 6 08-10-2006 19:46:28
Eventos en componentes creados en tiempo de ejecucion joumont OOP 3 27-12-2005 14:48:23
Objetos creados en tiempo de ejecución Scocc OOP 4 13-06-2003 20:55:29


La franja horaria es GMT +2. Ahora son las 11:24:23.


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