Ver Mensaje Individual
  #25  
Antiguo 06-04-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 19
rgstuamigo Va por buen camino
Question

Cita:
Empezado por roman Ver Mensaje
Pues no. Porque en realidad, esto:

Código Delphi [-]
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
Form2:=nil;
end;

es una mala práctica. Una clase no debería hacer referencia a una instancia en particular. Yo sé que esto es muy común pero no debería hacerse de esta manera.

De entrada, no debería usarse la variable Form2 que el IDE crea en automático por la simple razón de que no es bueno usar variables globales. Si el formulario principal requiere una instancia de Form2 y necesita tenerla reservada, entonces se declara una variable de tipo TForm2 (o, mejor, de tipo TForm) como campo privado.

// Saludos
Estoy de acuerdo con lo que dices supongo que te estás refiriendo a que el código quede más limpio, es decir, no hacer que en mi clase haga refencias aun objeto en cuestion, pero la cuestion es que: dime ¿Cómo harias para que al momento de destruir mi formulario con Action:=caFree, hagas que dicho formulario apunte a nulo (nil)?
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita