FinnO - So 14.11.10 21:10
Titel: Eigener Dialog -> execute
Moin,
ich habe ein Formular in einer Anwendung, was einige Einstellungen verwaltet. Ich würde dieses jetzt gerne wie einen Dialog behandeln, d.h. mit execute aufrufen und falls dies TRUE ist die Werte auswerten. Wie muss so eine Execute-funktion aussehen?
Ansatz:
Delphi-Quelltext
1: 2: 3: 4: 5:
| function Tfrm.execute : boolean; begin frm.ShowModal; result := OKClicked; end; |
Wäre noch zu klären, wie man das Formular am intelligentesten erzeugt. Vorher selbst erstellen und hinterher zerstören? Oder geht das more Delphi-like?
LG
jaenicke - So 14.11.10 21:20
Wenn du es entsprechend der anderen Dialoge machen willst, dann erzeuge deine Dialog-Komponente (also hier wohl dein Formular) und rufe deren Execute auf. Wenn die Komponente nicht mehr gebraucht wird, zerstörst du sie wieder.
Theoretisch wäre auch eine Klassenfunktion möglich, aber das wäre dann nicht die typische Execute-Funktion, die in Delphi sonst verwendet wird.
// EDIT:
@
bummi:
Da fehlt irgendwie die Freigabe des Objektes...
Außerdem der Ressourcenschutzblock.
Außerdem geht das besser so (würde ich aber wie gesagt nicht so machen):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| class function TMyDialog.Execute(): Boolean; var MyDialog: TMyDialog; begin MyDialog := TMyDialog.Create(nil); try Result := MyDialog.ShowModal = mrYes; finally MyDialog.Free; end; end; |