Laden...

Ereignis sofort wieder verlassen wie aber Codeabarbeitung durchführen

Erstellt von oehrle vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.052 Views
Thema geschlossen
O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 10 Jahren
Ereignis sofort wieder verlassen wie aber Codeabarbeitung durchführen

Hallo, habe in meiner Applikation eine 3rd - Party DLL eingebunden. Dort werden Events aufgerufen, und ich muss dann sämtliche Dinge in meiner Applikation prüfen und bearbeiten (z.B. Event FileTransfer_Complete).
Nun, wie mache ich das denn, damit die Eventmethode sofort wieder freigegeben wird? Ich muss aber noch mehrere Zeilen Code ausführen. Das führt aber wohl zu Problemen, wenn ich mich zulange in der Methode aufhalte. Rufe ich auch ein Event auf, das ich erstelle? Wird dann nach dem Aufruf die 3rd - Party DLL - Eventmethode auch sofort wieder frei, oder erst wenn mein Code in meinem gefeuerten Event abgearbeitet wurde?

D
615 Beiträge seit 2009
vor 10 Jahren

Hallo oehrle

Du kannst im Event ein Thread starten...

Das deine 3rd Lib aber wartet bis der (die) Eventhandler abgearbeitet sind klingt für mich etwas merkwürdig 😉

Beste Grüsse

Diräkt

2.298 Beiträge seit 2010
vor 10 Jahren

Hallo Diräkt,

so merkwürdig ist das nicht. Das Form-Closing Event wartet ja auch, bis der EventHandler abgearbeitet ist (e.Cancel).

Sofern also die externe Komponente im GUI Thread läuft bzw. das Event im GUI Thread geworfen wird, ist es völlig korrekt, das die auslösende Methode/Komponente wartet.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

S
145 Beiträge seit 2013
vor 10 Jahren

Ganz blöd einen Timer starten der dann die eigentliche Prüfung startet und damit wärst du immer noch im GUI Thread.

Je nach Events stellt sich mir eh die Frage ob es nicht eh sinnvoll wäre paar Millisekunden zu warten nicht das unnötigerweise die Prüfungen öfters aufgerufen werden.

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo oehrle,

klingt ganz nach [FAQ] Warum blockiert mein GUI?

herbivore

Thema geschlossen