Thema: Delphi ShowModal verschachteln?

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: ShowModal verschachteln?

  Alt 9. Nov 2006, 07:23
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
  Mit Zitat antworten Zitat