http://www.perlmonks.org?node_id=423719


in reply to Win32::OLE Type for VB's "As Single"

I would look into using variants.

use Win32::OLE::Variant; my $number = 1; my $var_number = Variant(VT_R4, $number); $object->GetData($var_number,etc etc)

HTH

Replies are listed 'Best First'.
Re^2: Win32::OLE Type for VB's "As Single"
by guha (Priest) on Jan 20, 2005 at 22:03 UTC

    Shame on me not reading the OP properly!!

    my $number = Variant(VT_I4, 1);; my $prices = Variant(VT_R4 | VT_ARRAY, [1,10], 1); # Index 0 .. 9 my $others = Variant(VT_R4 | VT_ARRAY, [1,5], 1); # Index 0 .. 4 my $returnValue = $object->GetData($number,$prices,$others);
    If this does not work I would try to "OR" the by_reference constant for the array statements like
    Variant(VT_R4 | VT_ARRAY | VT_BYREF, [1,5], 1);

    I have no possibility to test this myself, so please regard this as the shot in the dark it is. But since you don't seem to have reached a working solution, I offer you this straw....