COM-Objekt wird nach Thread zerstört..
Verfasst: Mittwoch 15. Dezember 2010, 11:03
Hallo,
ich habe folgendes Problem. In einem Thread erzeuge ich ein COM-Objekt mittels Dispatch. Das Variable, welches das COM-Objekt zugewiesen wird, ist global. Der Thread wird mit der API-Funktion CreateThread erzeugt. Es ist deswegen in einem Thread, weil die Erzeugung des COM-Objektes länger dauert.
Das ganze sieht etwa so aus:
Man sieht im Task-Manager dass der Prozess erzeugt wird, aber auch nach Erzeugung gleich wieder beendet wird, sobald der Thread auch zuende ist. Mein Frage ist nun, wie kann man aus einem Thread ein übergreifendes COM-Objekt erzeugen, also ein Objekt das auch in einem anderen Thread (im MainThread) gültig ist und nicht gleich wieder zerstört wird?
mfg
ich habe folgendes Problem. In einem Thread erzeuge ich ein COM-Objekt mittels Dispatch. Das Variable, welches das COM-Objekt zugewiesen wird, ist global. Der Thread wird mit der API-Funktion CreateThread erzeugt. Es ist deswegen in einem Thread, weil die Erzeugung des COM-Objektes länger dauert.
Das ganze sieht etwa so aus:
Code: Alles auswählen
...
import sys as _sys
MeinSkript = _sys.modules[__name__]
MeinSkript.COMObj = None;
def MeinThread(ThreadArg):
pythoncom.CoInitialize();
MeinSkript.COMObj = Dispatch(...);
....
return 0;
mfg