Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Button mit ModalResult - Nicht immer schließen (https://www.delphipraxis.net/107099-button-mit-modalresult-nicht-immer-schliessen.html)

sunnyandy 22. Jan 2008 14:13


Button mit ModalResult - Nicht immer schließen
 
Hallo!

Ich habe ein Fenster, in dem ich dem Button "OK" das ModalResult "mrOK" gegeben habe.
Wenn nun aber in der Prozedur, die beim Klick aufgerufen wird, ein Fehler auftritt (Exception wird geworfen), wird nach dem Anzeigen der Exception das Fenster (wie sonst auch) automatisch geschlossen. Wie kann ich das bei einem Fehler verhindern, der Benutzer soll ja schließlich seine Eingaben korrigieren können.

Danke im Voraus!
Andy

mkinzler 22. Jan 2008 14:15

Re: Button mit ModalResult - Nicht immer schließen
 
Du musst die Exception innerhalb des Fensters abfangen.

Apollonius 22. Jan 2008 14:15

Re: Button mit ModalResult - Nicht immer schließen
 
Ich würde das dann von Hand machen. Also kein ModalResult im Button, sondern am Ende der Ereignisbehandlungsroutine.

xaromz 22. Jan 2008 14:17

Re: Button mit ModalResult - Nicht immer schließen
 
Hallo,

...und dort ModalResult auf mrNone setzen. (als Ergänzung zu mkinzler).

Gruß
xaromz

sirius 22. Jan 2008 14:28

Re: Button mit ModalResult - Nicht immer schließen
 
Aber wenn man eh schon für Click eine Ereignisbehandlungsroutine hat, dann braucht man (wie Apollonius sagte) die Taste auch nocht mit Modalresult vorbelegen.

sunnyandy 22. Jan 2008 14:29

Re: Button mit ModalResult - Nicht immer schließen
 
Hallo danke!

Wenn ich kein ModalResult benutze,
wie ich dann vom aufrufenden Fenster erfahren, welcher Button angeklickt wurde?

sirius 22. Jan 2008 14:31

Re: Button mit ModalResult - Nicht immer schließen
 
Kannst du doch.
du belegst aber nicht den Button mit einem Modalresult (also nicht im OI vorgeben), sondern machst das (zumindest für den einen Button) erst, wenn du in der Methode für das Ereignis bist. Und dort schreibst du einfach Modalresult:=mrok; (zur Form)

sunnyandy 22. Jan 2008 14:33

Re: Button mit ModalResult - Nicht immer schließen
 
Super,

es klappt wunderbar! Dankeschön! :angel:

sunnyandy 22. Jan 2008 14:40

Re: Button mit ModalResult - Nicht immer schließen
 
Halt,

es klappt doch nicht. Wenn ich in der Ereignis-Methode das Modalresult setzte, dann wirkt es erst beim nächsten Klick auf den Button...
Das heißt, wenn kein Fehler auftritt, muss ich zweimal klicken, damit das Modalresult das Fenster schließt...

sirius 22. Jan 2008 14:42

Re: Button mit ModalResult - Nicht immer schließen
 
Nicht den Modalresult des Buttons setzen, sondern den des Formulars.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.
Seite 1 von 2  1 2      

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