COM/CORBA/DCOP (was: Hello people. I have some questions)

Neil Hodgson nhodgson at bigpond.net.au
Wed Sep 5 02:34:38 CEST 2001


Alex Martelli:
[about Automation]
> ..., it's mostly about marshaling
> the arguments (they DO have to be marshaled, since the Invoke call
> of the IDispatch interface cannot accept "a generic stack frame" --
> it wants an array of VARIANT's, so SOME code, typically somewhere
> in the OLE runtime, must be marshaling
>     stackframe->array of VARIANTs->stackframe
> and THAT is the part that normally dominates, except perhaps
> on argument-less methods using optimized non-interpretive custom
> marshaling for the purpose).

   At the risk of being pedantic (and with Alex, it is *such* a temptation
:-) ), you can write your automation code (both client and server) to deal
with VARIANTs directly. The cost in Automation is more that a well behaved
server is supposed to coerce arguments into the form it requires (int->real,
string->number and even dereferencing byref arguments are often done) and
this often requires a bunch of tests and translation code.

   Neil






More information about the Python-list mailing list