Thread notwendig???
-
Hallo!
Ich habe folgendes Problem: Eine Prozedur, die mit einem Button gestartet wird, soll an einer bestimmten Stelle nachfragen, ob ein anderer Button gedrückt wurde und entsprechend reagieren. Bin noch n Greenhorn, was Programmierung angeht und bin auch mit der Hilfe von wxDev bislang nicht zu einer funktionierenden Lösung gekommen. Muss ich mit Threads arbeiten, oder gibt es einfach die Möglichkeit das Drücken des zweiten Buttons lokal abzufragen? Es wäre nett, wenn man mir Hilfestellung geben könnte!
Gruss
-
Also den Thread hast ja jetzt schon aufgemacht, nötig wars nicht aber was solls. :p
Nein, ernsthaft:
Ich verstehe nicht ganz, was du erreichen willst. Sag uns doch einfach, was genau passieren soll, dann schau ma mal, was genau wir da machen können.
Und vor allem mit welchem Toolkit du arbeitest.
rya.
-
Grundsätzlich würde ich sagen, der zweite Button soll in seinem Event-Handler einfach eine Variable (z.B. Member der Dialogklasse) setzen, die du dann im Eventhandler vom ersten Button einfach abfragen kannst. Aber Scorcher24 hat schon Recht, erzähl mal mehr.
-
Ich will mit dem ersten Button einen iterativen Prozess starten, konkret eine Iterative Fouriertransformation, die erst abbricht, sobald ein bestimmtes Abbruchkriterium erfüllt wird. Innerhalb des Prozesses, der zig mal durchlaufen wird, soll nachgefragt werden, ob während dessen ein weiterer Button gedrückt wurde. Wurde er gedrückt, soll er einen Zwischenschritt ausführen und anschliessend fortfahren. Das ist im Prinzip schon alles.
Ich arbeite mit wxWidgets 2.8.0!!!
Danke für die Hilfe!!
-
Ich würde sagen, mein Vorschlag passt schon. Nach dem Motto
while(!m_bButtongedrueckt) {...}
Ein Event wäre auch eine Möglichkeit.
Was du speziell bei wxWidgets beachten musst, kann ich dir leider nicht sagen.
-
Also ich verstehe das mittlerweile so: im event_table stehen die ganzen event_handler. Wird ein event ausgelöst wird wxEventHandler::ProcessEvent für den ersten event_handler aufgerufen, dass zu dem Fenster gehört, dass dieses event ausgelöst hat.
Das Problem scheint ja doch zu sein, dass wenn ein event_handler abgearbeitet wird, auf keinen weiteren zugegriffen werden kann.