![]() |
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? |
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:
... oder so ähnlich.
procedure TForm1.Button1Click(Sender: TObject);
begin JvStringGrid1.OnExitCell(self); // Hier kommt nun das was NACH dem Ereignis ausgeführt werden soll... end; SCRaT |
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. |
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: |
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. |
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 21:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz