Hallo Marco,
die Verschachtelung modaler Fenster ist technisch kein Problem, zählt aber zu den kritischen Designfragen bei der Gestaltung der Benutzer-Schnittstelle. Deine Funktion ShowModal() ist keine gute Lösung - einmal weil du eine Methode überladen würdest und außerdem führt man nicht ShowModal() innerhalb von ShowModal() aus:
Delphi-Quellcode:
procedure TMainForm.ShowModalForm;
begin
with TModalForm.Create(self) do
try
case ShowModal of
mrOK: //
;
mrCancel: //
;
end;
finally
Free;
end;
end;
// ----------
procedure TModalForm.HinzufuegenClick(Sender: TObject);
begin
with THinzufuegenFormular.Create(self) do
try
if ShowModal = mrOK then
UpdateUI;
finally
Free;
end;
end;
Dabei ist UpdateUI eine von dir zu schreibende Methode von TModalForm, die alle relevanten UI-Controls inhaltlich aktualisiert.
Grüße vom marabu