Greetings everyone!
I am using the "Browse Automation Classes" option under the COM menu to explore interfaces and I came across this definition in one of our dlls (obviously not Foo -- the name of the func is not relevant):
Simplified Syntax: Foo: <anInteger> itemList: (<ValueReference on: Array of aString>)
And after trying it out several ways, and experimenting, I can't figure out what <ValueReference on: Array of aString> means in terms of getting an array of strings out of COM and into Smalltalk.
I have tried calling it like this with an Array:
anItemList := Array new: 10. aDispatchDriver Foo: 9997 itemList: (anItemList asValueReference).
And like this with an
OrderedCollection:
anItemList := OrderedCollection new. aDispatchDriver Foo: 9997 itemList: (anItemList asValueReference).
And like this with a String:
anItemList := String new: 1000. aDispatchDriver Foo: 9997 itemList: (anItemList asValueReference).
All calls succeed. But there is nothing in anItemList when it returns.
Thanks for your time and take care. |