Ver Mensaje Individual
  #6  
Antiguo 20-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 23
gluglu Va por buen camino
He probado en BDS 2006 lo que dice Lepe, y NO me dá error de memoria ninguno. En el evento OnClose del Form2 he puesto Action := caFree y he definido Application como dueño de Form2 al crearlo en Form1. Funciona correctamente y no me da ningún error.

Volviendo al tema de utilizar el evento OnActivate para la utilidad que venimos discutiendo.

Yo utilizo bastante el evento OnActivate para muchas cosas que no puedo hacer en eventos como el OnCreate u OnShow. Si tengo claro que sólo tengo que ejecutar el código necesario una única vez, lo pongo en el evento OnActivate y además le añado :

Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
begin
  ...
  Self.OnActivate := nil;
end;

De esta manera no habría inconveniente alguno en crear al MDIChild en el evento OnActivate del Form1.

También tengos varias ocasiones en las que no puedo actuar de esta manera y hago uso del método AfterShow que explicó Roman en su momento y que también funciona perfectamente y recomiendo conocerlo.

Saludos a tod@s !
__________________
Piensa siempre en positivo !
Responder Con Cita