Hallo,
wie ist das gedacht?
Deine Units machen irgendwas, dann wird das Formular angezeigt und Du wartest auf eine Benutzeraktion. Abhängig von dieser Benutzeraktion soll irgendetwas geschehen (weitermachen, wiederholen, abbrechen, was auch immer).
Wenn Du das Formular in diesem Fall mit ShowModal aufrufst, könntest Du jedem Button über ModalResult einen anderen Wert zuweisen (hier sind Integerwerte möglich, also mehr, als der Objektinspektor als Vorschläge zur Verfügung stellt).
In den Units kannst Du dann z. B. über
Delphi-Quellcode:
case FortschrittsDialog.ShowModal of
1 : //
2 : //
...
else
// Defaultaktion
end;
abfragen, was der Benutzer gemacht hat.
Dies funktioniert jedoch nicht, wenn das Formular permanent angezeigt werden soll.
Eine andere Möglichkeit wäre, in den Units den Dir bekannte Buttons... auf dem Formular Ereignisse zuzuweisen, die in der
Unit definiert sind, so kann jede
Unit ihre eigenen Ereignisroutinen mitbringen und das Formular führt die entsprechende Funktion aus.
Delphi-Quellcode:
// in Deiner Unit definiert
procedure myEnde(Sender: TObject);
begin
Fmyform.Close;
// und irgendwas weiteres an Code
end;
...
Fmyform := TTestFormFrm.Create(
nil);
Fmyform.OnClick := myEnde;
// u.s.w. für jeden Button, auch OnEdit, OnClick, OnExit für Eingabefelder... sind möglich,
// also alles das, was Du auch in der Formularunit machen könntest