So wie du das machst wird die Form TForm2 immer doppelt im Speicher vorhanden sein.
Einmal automatisch beim Programmstart und dann immer wieder beim Aufruf.
Irgendwie nicht logisch.
Also das Formular nicht automatisch erzeugen lassen.
Um TForm2 Modal aufzurufen folgender Code:
Delphi-Quellcode:
Procedure TForm1.OpenForm2Modal( Sender : TObject );
Var
ModForm2 : TForm2;
begin
ModForm2 := TForm2.Create( Self );
Try
ModForm2.ShowModal;
Finally
ModForm2.Free;
end;
end;
Um die globale Variable "Form2" aus der Unit2 beim Free auf Nil zu setzen folgender Code
Delphi-Quellcode:
procedure TForm2.FormDestroy( Sender : TObject );
begin
If Form2 = Self then
Form2 := nil;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)