Einige Vorschläge gruseln mich wirklich.
1. Die Formen (in dieser Konstellation) immer dynamisch erzeugen.
2. Kein direkter Zugriff von einer Form auf die andere und umgekehrt. Parameter sind da hilfreich beim Erzeugen.
Ich mache das üblicherweise so:
Delphi-Quellcode:
class function TForm3.ShowFormModal(Sender: TComponent; <Parameterliste>): TModalResult;
var
frm : TForm3;
begin
frm := TForm3.Create(Sender);
try
Result := frm.ShowModal;
finally
frm.Free;
end;
end;
Bitte beachten, dass es sich um eine
CLASS FUNCTION
handelt.
Wenn man das analog für Form2 macht, kollidiert auch nichts.
Ein eventueller Informationsaustausch erfolgt über die angedeutete Parameterliste. Mit Var-Parametern kann man sich dann auch Informationen zurück geben lassen.
Die entsprechenden globalen Variablen Form2 und Form3 zur Sicherheit gleich löschen. Dann kann man die auch nicht mehr versehentlich benutzen.