Events aus Thread feuern
-
Hallo,
wenn ich aus einem Thread ein Event feuere, damit in einer Form viele Daten ausgegeben werden in einer datagridview z.B., läuft der ganze vorgang dann im Thread wo das event gefeuert wurde oder im UI-Thread?
-
Siehe InvokeRequired, BeginInvoke, EndInvoke, Invoke
-
Knuddlbaer schrieb:
Siehe InvokeRequired, BeginInvoke, EndInvoke, Invoke
war erster Satz von dir eine Frage oder Aussage? Ist verwirrend, bitte um Klarstellung, danke
-
Nein war er nicht.Sondern ein Zitiat deines Satzes
-
ich denke dann komm ne exception.. schau mal nach "dispatcher"
-
war erster Satz von dir eine Frage oder Aussage? Ist verwirrend, bitte um Klarstellung, danke
Knuddelbär hat aus deiner Frage, das angekreuzt, was zutrifft.
ich denke dann komm ne exception.. schau mal nach "dispatcher"
Auf was für eine Frage, war den das die Antwort? Irgendiwe wie bei Jeopardy.
Simon
-
naja nachdem er das nun weis, wird er das ganze implementieren, und festtellen das es eine exceptione geben kann wenn der UI-Thread mit seinem Thread probleme bekommt! Dann wird seine näcshte fragen sein:
Wie kann ich das Problem löschen damit mein Event aus meinem Thread aus in dem UI-Thread kooperiert?
-
Die Antwort wurde doch direkt mitgeliefert.
-
Knuddlbaer schrieb:
Die Antwort wurde doch direkt mitgeliefert.
Anscheinend sind heute nur Hauptschüler unterwegs
-
dgdfgsg schrieb:
Knuddlbaer schrieb:
Die Antwort wurde doch direkt mitgeliefert.
Anscheinend sind heute nur Hauptschüler unterwegs
und somit bewiesen am lebenden beispiel #gg
-
Wie kann ich das Problem löschen damit mein Event aus meinem Thread aus in dem UI-Thread kooperiert?
Kurz vorweg: Ein Problem löst man eigentlich.
Wenn du im Thread B (Nebenthread) ein Event auslöst, kannst du es im Thread A (Hauptthread) abfangen, dafür solltest du dem Thread A das Event von Thread B zugänglich machen.
ThreadB.IchBinEinEventImThreadB += new IchBinDieEventKlasse(IchBinDasEventImThreadA);
-
Nein, das reicht nicht. Da gibt es kein Thread Switch.
Thread Switches erreicht man z.B. mit Event (Klasse) oder Messages.So, und die hier angesagte Lösung (da im Zusammenhang mit GUI) ist Invoke / InvokeRequired der des Controls / Form zu benutzen.
Das wurde von Knuddelbär bereits schon gesagt.
Simon