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 Ereignis abwarten / Wartefunktion (https://www.delphipraxis.net/89972-ereignis-abwarten-wartefunktion.html)

uht 9. Apr 2007 18:07


Ereignis abwarten / Wartefunktion
 
Ich stehe mal wieder vor einem Problem, dass ich alleine nicht hin bekomme ohne groß zu pfuschen.

Ich benutze ein TJVStringGrid aus den Jedis. Bei dem Ereignis OnExitCell wird der Datensatz der gerade editierten Zelle in eine Liste geschrieben.

Nun mein Problem:
Wenn der Benutzer mit der Eingabe fertig ist muss er einen Button klicken. Der Code aus dem OnExitCell-Ereignis soll nun vor dem Code des Buttons ausgeführt werden (was aktuell nicht der Fall ist). Kann ich in den Code des Buttons eine Art Wartefunktion einbauen, damit erst das OnExitCell-Ereignis ausgeführt wird?

scrat1979 9. Apr 2007 18:28

Re: Ereignis abwarten / Wartefunktion
 
Hallo Uht,

keine Ahnung ob es Dir helfen könnte oder so geht, aber warum löst Du das Ereignis nicht in der Onclick-Methode des Buttons aus?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  JvStringGrid1.OnExitCell(self);
  // Hier kommt nun das was NACH dem Ereignis ausgeführt werden soll...
end;
... oder so ähnlich.

SCRaT

glkgereon 9. Apr 2007 18:35

Re: Ereignis abwarten / Wartefunktion
 
Ganz blöde Idee:

müsste Application.Processmessages; dass nicht machen?
Das arbeitet doch genau die Events in der Warteschlange ab, und in dieser würde dann ja auch OnExitCell hängen.

C.Schoch 9. Apr 2007 19:16

Re: Ereignis abwarten / Wartefunktion
 
Hi,
Mir scheint es besser zu sein dafür zu Sorgen das die Zelle vor dem Button Klick verlassen wird. Bzw. einfach den Code oder Teile aus dem OnClick des Buttons ins OnExitCell des StringGrids kopieren anstatt irgendwas mit Warterei rumzuwurschteln :wink:

uht 10. Apr 2007 23:54

Re: Ereignis abwarten / Wartefunktion
 
Danke für eure Hilfe,

ich setze jetzt im onclick Ereignis des Buttons einfach den Fokus auf irgendein Editfeld auf meinem Formular und schon wird das onexitcell des JVStringGrids ausgelöst.

Application.Processmessages hat leider nicht geklappt und JvStringGrid1.OnExitCell(self) ging nicht, weil das Ereignis noch mehrere Variablen verlangt, die ich nicht liefern konnte.

3_of_8 11. Apr 2007 00:18

Re: Ereignis abwarten / Wartefunktion
 
Application.ProcessMessages hat den gravierenden Nachteil, dass es übelst viel CPU-Zeit frisst. Also genaugenommen alle verfügbare Rechenzeit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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