I need to call an OLE method that takes a VARIANT argument, and fills
it with data. How can I accomplish this? Somewhere in the ruby-cvs
attic I've found WIN32OLE_VARIANT, unfortunately it is removed now.
Long obj.GetX(varX As Variant)
long is success/error, varX is the actual value for X.
invoke_kind of the method is FUNC.
The dispid is the dispatch id of the OLE method to call.
The value is the data which you want to pass.
Regards,
Masaki Suketa
···
In message "Win32OLE: how to pass parameters by reference?" on 07/01/03, "Jan Svitok" <jan.svitok@gmail.com> writes:
I need to call an OLE method that takes a VARIANT argument, and fills
it with data. How can I accomplish this? Somewhere in the ruby-cvs
attic I've found WIN32OLE_VARIANT, unfortunately it is removed now.
In the meantime I have found the answer in your older answers. Thank
you for all of them. The trick was to google for 'output' instead of
'reference'
In this case, using WIN32OLE::ARGS was enough to get what I need.
I have added a doc patch (7557) to ruby tracker to document that. (I
have copied pieces from your examples if you don't mind).
Thanks again.
Jano
···
On 1/3/07, Masaki Suketa <masaki.suketa@nifty.ne.jp> wrote:
In message "Win32OLE: how to pass parameters by reference?" > on 07/01/03, "Jan Svitok" <jan.svitok@gmail.com> writes:
> I need to call an OLE method that takes a VARIANT argument, and fills
> it with data. How can I accomplish this? Somewhere in the ruby-cvs
> attic I've found WIN32OLE_VARIANT, unfortunately it is removed now.
No, WIN32OLE_VARIANT is Ruby 1.9 feature.
Sorry, Ruby 1.8 does not support WIN32OLE_VARIANT.
In Ruby 1.8, WIN32OLE#_invoke method may help you.
In the meantime I have found the answer in your older answers. Thank
you for all of them. The trick was to google for 'output' instead of
'reference'
In this case, using WIN32OLE::ARGS was enough to get what I need.
I have added a doc patch (7557) to ruby tracker to document that. (I
have copied pieces from your examples if you don't mind).
Jan, this is great. Enhancing the existing documentation of a library after having solved a problem. May others (me included) be inspired by your example.