You are not logged in.

Dear visitor, welcome to Dreamboard. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Saturday, July 29th 2006, 11:40pm

Löschen der Message-Queue(Events)

wenn ich in einem Plugin längere Schleifen durchlaufe, werden die Eingaben der Fernbedienung weiterhin in die Queue geschrieben und nach beenden der Schleife ausgeführt. Besteht die Möglichkeit alle aufgelaufenden Events zu löschen?
Z.Z. lasse ich die Schleife in einem Timer laufen und fange die Events einzeln in einem Event Handler ab was sehr mühselig ist. Hat jemand eine Idee?

cu
DarkVolli

2

Sunday, July 30th 2006, 12:16am

Hi,

ja die Lösung ist "ordentlich programmieren" :)

Man sollte die Mainloop einfach nicht ewig lange blocken. Das ist auch bei Windows und anderen GUIs nicht anders..

Ereignissorientiert programmieren... dann passiert sowas nicht .. oder halt ggf. einen Thread starten.. aber das ist auch nicht ohne.... da muss man dann aufpassen, dass man die Threads ordentlich gesynced bekommt..

Was ist das überhaupt genau für ein Plugin? Also eines was die enigma gui benutzt?

Also wenn es eines ist, was die enigma gui api benutzt, dann könnte man als workaround vor der längeren Schleife eRCInput::getInstance()->lock(); aufrufen.. und danach ... ->unlock(); .. beim unlock wird dann das RC device geleert..

cu

3

Sunday, July 30th 2006, 8:48am

Ja, genau das habe ich gesucht - Vielen Dank!
Es handelt sich um ein Spiele-Plugin mit der Enigma gui, ich hatte immer in den sourcen das event handling durchgesucht, auf RCInput bin ich leider nicht gekommen...

cu
DarkVolli