Thanks Markus,

 

I'll use the info to try to figure out how things will work in my actual real 
world example. That involves the return of 4 or 5 arrays of strings and ints 
(horrible API I'm dealing with)

 

Paul 

 

From: Markus Schaber [mailto:m.scha...@3s-software.com] 
Sent: Wednesday, March 30, 2011 12:42 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Newbie InterOp-related question

 

Hi, Paul,

 

it's documented at 
http://ironpython.net/documentation/dotnet/dotnet.html#ref-and-out-parameters. 

 

The out parameter will be mapped as an additional return value.

 

So if myComObj.foo returns void, a simple call like

 

blah = myComObj.Foo()

 

should do the trick.

 

Grüße,

Markus

 

Von: users-boun...@lists.ironpython.com 
[mailto:users-boun...@lists.ironpython.com] Im Auftrag von Tilley, Paul
Gesendet: Mittwoch, 30. März 2011 01:10
An: users@lists.ironpython.com
Betreff: [IronPython] Newbie InterOp-related question

 

Hi,

 

I've just started using IronPython but have hit a bit of a roadblock. This may 
also be caused by inadequate .Net knowledge.

 

In C# I can call a COM object (where the COM method is going to fill in the 
parameter) like so:

object blah;

myComObj.Foo(out blah);

 

If for example the COM method returns an array of strings ( with the parameter 
VARIANT* in COM method signature) then in C# I get an object[] back which with 
appropriate massaging I can process.

 

How would I declare the variable in Python if I want access the returned 
contents correctly? Knowing I was to get an array back I naively tried:

blah = []

myComObj.Foo(blah)

 

The call is made correctly - I can see the COM object is filling out the return 
parameter OK but blah remains an empty list.

Any insights on what I should be doing more than welcome,

 

Thanks,

 

Paul

 

 

_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to