Entwickler-Ecke
Windows API - Aus externem Thread im Hauptthread Procedure aufrufen
thepaine91 - Mi 13.05.09 15:42
Titel: Aus externem Thread im Hauptthread Procedure aufrufen
Hi. Ich habe mal probiert aus dem Thread heraus eine Prozedur des Hauptthreads aufzurufen. So nun hab ich mir mal vom debugger das Threadfenster angesehen und stelle fest das die procedure im Thread und nicht im Hauptthread ausgeführt wird. ??? Anzeige fehler oder wirklich so? Bzw. kann ich etwas dagegen machen?
Für hilfe bin ich sehr dankbar =)
delfiphan - Do 14.05.09 16:30
Wenn du eine Prozedur schreibst, dann ist diese nicht an einen Thread gebunden sondern läuft immer dort, von wo sie aufgerufen wird. Wenn du eine Prozedur von einem Thread aus im Hauptthread aufrufen willst, verwende Synchronize und übergebe die (parameterlose) Prozedur. Sobald der Hauptthread "Zeit" hat, wird dann diese Prozedur dort ausgeführt. Der Thread wartet solange, bis die Prozedur im Hauptthread fertig ausgeführt wurde. Willst du nicht, dass gewartet wird, verwende Queue, statt Synchronize.
thepaine91 - Do 14.05.09 18:27
Danke für deine Antwort.
:autsch: Synchronize natürlich... das hab ich komplett vergessen.
Super dann hab ich endlich was ich wollte. :P
matze - Sa 16.05.09 12:20
delfiphan hat folgendes geschrieben : |
| Willst du nicht, dass gewartet wird, verwende Queue, statt Synchronize. |
Beispiel bitte :-)
delfiphan - So 17.05.09 14:51
Nimm ein Beispiel für Synchronize und ersetze es durch Queue... (da Queue asynchron ist, kann es sein, dass das nicht durchaus einfach so geht. Vom Konzept her ist Synchronize wie SendMessage und Queue wie PostMessage...)
matze - Mo 18.05.09 22:37
Man lernt doch nie aus. Fein. Danke :-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!