how to serialize a COM object ?

V

vml

I have a problem :

I have a COM object.

I would like to pass this com object from a server to a client through
a socket.

I tried to put the com object into a stringIO with the pickle module
but :

"can't pickle PyIDispatch objects"


Is there other possibilities to pass a COM object through a network ?
(pyro)

thanks!
 
D

Diez B. Roggisch

vml said:
I have a problem :

I have a COM object.

I would like to pass this com object from a server to a client through
a socket.

I tried to put the com object into a stringIO with the pickle module
but :

"can't pickle PyIDispatch objects"


Is there other possibilities to pass a COM object through a network ?
(pyro)

This isn't possible. There is a special kind of COM, called DCOM.
I'm a bit rusty on that, but you should try and use that.

Alternatively, you could of course create a pyro-backed proxy, that will
delegate all calls to itself to the COM-object.

Diez
 
C

Carsten Haese

I have a problem :

I have a COM object.

I would like to pass this com object from a server to a client through
a socket.

That is just as feasible as passing a cruise ship through a phone line.

A COM object represents a connection to a service or executable that is
running on one computer. Transferring that connection to another
computer is impossible.

-Carsten
 
N

Neil Hodgson

vml said:
I have a COM object.

I would like to pass this com object from a server to a client through
a socket.

As Diez mentioned, this may be possible through Distributed COM
(DCOM). Its not very popular any more with techniques such as SOAP being
more widely implemented. DCOM is fiddly to set up particularly the
security aspects. IIRC I did get it to work with Python but that was
maybe 8 years ago. Here's an overview of DCOM:

http://msdn2.microsoft.com/en-us/library/ms809311.aspx

Neil
 
R

Roger Upole

Carsten Haese said:
That is just as feasible as passing a cruise ship through a phone line.

A COM object represents a connection to a service or executable that is
running on one computer. Transferring that connection to another
computer is impossible.

-Carsten

Actually, CoMarshalInterface allows you to do exactly this.

Roger
 
V

vml

vmlwrote:


As Diez mentioned, this may be possible through Distributed COM
(DCOM). Its not very popular any more with techniques such as SOAP being
more widely implemented. DCOM is fiddly to set up particularly the
security aspects. IIRC I did get it to work with Python but that was
maybe 8 years ago. Here's an overview of DCOM:

http://msdn2.microsoft.com/en-us/library/ms809311.aspx

Neil

Thank you for your answers, I think that a DCOM application ...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,586
Members
45,087
Latest member
JeremyMedl

Latest Threads

Top