Klotzkopp Geschrieben 13. Februar 2002 Teilen Geschrieben 13. Februar 2002 Hallo zusammen, ich hab hier ein recht seltsames Phänomen: Ich hab einen COM-Server mit Dual-Threading-Modell, und da ich das Ding in einem Thread hochziehe, und in einem anderen das Interface benutzen muss, packe ich es, wie es sich gehört, im ersten Thread mit CoMarshalInterThreadInterfaceInStream in einen Stream, um es dann im anderen Thread wieder auszupacken. Das Dumme ist nur, wenn ich dann auf die Interface-Methoden zugreifen will, erhalte ich RPC_E_WRONG_THREAD. Was jetzt aber wirklich seltsam ist: Wenn ich nicht marshalle, dann funktioniert es! :confused: Hat irgend jemand schon mal von so was gehört? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gugelhupf Geschrieben 27. Februar 2002 Teilen Geschrieben 27. Februar 2002 Hmmm.... Was für ein Marshaling benutzt du denn ? Ein benutzerdefiniertes oder das Standardmarshaling ? Hast du deine Interfaces mit MIDL oder selbst erstellt. Falls mit MIDL muss man soweit ich weis auf oleautomation achten, da er nicht alle IDL-Variablen-Typen beim Standardmarshaling transportieren kann. Welche Modell wendest du an: STA MTA oder TNA ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. Februar 2002 Autor Teilen Geschrieben 28. Februar 2002 So weit ich mich erinnern kann, war es Standard-Marshalling, MIDL und MTA. Hab momentan Urlaub drum kann ich jetzt nichts genaues sagen. Aber das mit den Typen werd ich prüfen danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.