Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Formular schliessen (https://www.delphipraxis.net/118037-formular-schliessen.html)

Cogito 30. Jul 2008 13:43


Formular schliessen
 
Hallo zusammen,

ich habe auf einem Dialog 2 Buttons (OK und Abbrechen) und möchte gern, bevor der Dialog geschlossen wird, verschiedene Validierungen durchführen. Wie ich denke, ist das OnFormcloseQuery Ereignis der richtige Einstiegspunkt dafür, das Problem ist aber, das dieses Ereignis auch für den Abbrechen Schalter aufgerufen wird. Kann ich das so machen dass hier nur beim Klicken des OK-Buttons validiert wird?

Vielen Dank!

HenKst 30. Jul 2008 14:09

Re: Formular schliessen
 
sowohl der OK als auch der Abbrechen button schliessen doch das form, richtig?

wieso machst du's dann nicht einfach am ende vom OKbutton.OnClick?

der macht doch vermutlich form.close oder sowas
also davor setzen

wenn du das nicht willst mach dir n boolean "OKBool" oder so den du im OKbutton auf true setzt und im abbrechen auf false

den kannst du dann ja im closequerry abfragen

Codewalker 30. Jul 2008 14:12

Re: Formular schliessen
 
Schönere Lösung wäre doch dem Button ein ModalResult (mrOK und mrCancel) geben und das beim Schließen des Formulars auszuwerten.

Cogito 30. Jul 2008 14:20

Re: Formular schliessen
 
Zitat:

Zitat von Codewalker
Schönere Lösung wäre doch dem Button ein ModalResult (mrOK und mrCancel) geben und das beim Schließen des Formulars auszuwerten.

Genau so hab ich's ja auch, der OK-Button löst ein mrOK aus und Abbrechen mrCancel. Dadurch schliesst sich der Dialog automatisch und ich kann dieses Ergebnis auch im aufrufenden Dialog checken.
Aber wie frage ich nun im OnCloseQuery ab welcher Button gedrückt wurde?

taaktaak 30. Jul 2008 14:24

Re: Formular schliessen
 
if ModalResult=~~ then ...

Cogito 30. Jul 2008 14:28

Re: Formular schliessen
 
Zitat:

Zitat von taaktaak
if ModalResult=~~ then ...

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz