Klotzkopp Geschrieben 13. Februar 2002 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
gugelhupf Geschrieben 27. Februar 2002 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
Klotzkopp Geschrieben 28. Februar 2002 Autor 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
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.