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?
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 ?
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden