Anwendung aus Klasse heraus über Zustand informieren
-
Hi an alle,
ich habe eine Anwendung die schon etwas älter ist(ca 10 Jahre).
Jetzt rufe ich an einer Stelle eine Klasse auf die Daten aus dem Netzwerk empfängt. Bei einer bestimmten Nachricht möchte die Anwendung über diesen Zustand informieren.
Die Anwendung selbst soll an einer Stelle warten bis dieser Zustand erreicht ist.
Hoffe dies ist soweit verständlich.Nun meine Frage wie kann ich das realisieren ohne CreateEvent/SetEvent zu nutzen und so das es nicht zu sehr auf Windows angewiesen ist?
Habe schon überlegt einen EventHandler zu machen der einen Funktionspointer übergeben bekommt und eine Funktion die eine bestimmte Zeit wartet wie WaitForSingleObject und abfragt ob der Zustand eingetreten ist. Krieg aber noch nicht auf den Schirm wie man das machen könnte ohne globale Variablen zu nutzen.
Oder wäre es über eine statische Variable besser machbar?Gruß
CP
-
GastNo1 schrieb:
Krieg aber noch nicht auf den Schirm wie man das machen könnte ohne globale Variablen zu nutzen.
Dann nimm halt globale Variablen.
^[t](Bei mir sind solche Events auch global.)[/t]^
-
Ja kann man so gerade noch mit Leben:)
Ist mein Konzept denn soweit ok?
Ich mache mir einen Klasse EventHandler übergebe meiner Klasse die mit der Anwendung in Verbindung steht eine globale Funktion welche mir bspw. eine globale boolsche Variable auf true setzt.
Wenn nun die erwartete Nachricht eintritt rufe ich den EventHandler auf und somit die übergebene Funktion?In meiner Anwendung mache ich eine Wait - Funktion der ich eine Zeit in ms übergebe und einen startzeitpunkt, den ich aber auch innerhalb der Funktion festlegen kann, und lasse solange eine while schleife laufen bis entweder der Event eintritt was mit true quittiert wird oder bis die Zeit überschritten wurde was mit false quittiert wird.
Ist das zu kompliziert und es geht einfacher oder bin ich auf dem richtigen Weg?
Ist das erste Mal das ich mich mit sowas auseinander setze.
Gruß
CP