War es nicht so, dass wenn Form3 das Hauptformular der Anwendung ist und man close aufruft, dass sich die Anwendung dann schliesst?
Ich mach sowas immer über modale Fenster:
Delphi-Quellcode:
function TLoginForm.TryLogin:Boolean;
begin
Result := ShowModal = mrYes;
end;
function TLoginForm.LoginClick(Sender: TObject);
begin
if (edit1.Text= pwd) and (edit2.Text= usr) then
begin
Caption:=('Correct password');
ModalResult:=mrYes;
end
else
begin
Caption:=('Wrong password');
trys := trys-1;
if trys=0 then ModalResult:=mrNo;
end;
end;
Dann kann ich die Loginform an anderer Stelle schön verwenden:
Delphi-Quellcode:
with TLoginForm.Create() do
try
if TryLogin then
begin
//Show other Form
NewForm.Show; // Falls noch nicht erzeugt erst NewForm := TNewForm.Create() aufrufen
end
else
begin
//Go back or close App
end;
finally
Free;
end;
Alternativ kann man TryLogin auch statisch machen und TLoginForm dort drin erzeugen.
P.S.: Hab den Code jetz nirgends rauskopiert sondern wollte nur das Prinzip darstellen