Ver Mensaje Individual
  #2  
Antiguo 21-10-2015
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.242
Reputación: 22
ElKurgan Va camino a la fama
Creo que el problema del escenario 1 se explica por si mismo:

Código Delphi [-]
with TForm2.Create(Self) do
  try
    showModal;
  finally
    Free;
end;

Aquí etás creando un objeto de la clase TForm2, pero ¿Es la variable Form2? Yo creo que no, sino que es una creada al vuelo por Delphi.

En los otros escenarios no te da porque al ser formularios "Autocreate"... ¡¡¡ La variable Form2 se está creando al vuelo !!!

Asi debería funcionar:

Código Delphi [-]
If not Assigned(Form2) then
  Form2 := TForm2.Create(Self);
try
  Form2.showModal;
finally
    Form2.Free;
end;

Saludos
Responder Con Cita