Jan Dubois wrote:

> VT_DATE  values used to be returned as strings, but that doesn't give
> you any control over how the date is formatted.

I would say the user has - although limited - control with the
global LCID, right?

> A long time ago I
> changed Win32::OLE to return them as VARIANTs.  If you include the
> Win32::OLE::Variant module, they will still be stringified as before,
> but you can then also treat them as objects and use the
> Win32::OLE::Variant methods to format them the way you want to.
>
> It was discovered too late that this was a change in behavior for
> applications that do *not* use the Win32::OLE::Variant module.  Since
> reverting the behavior would have broken programs written after the
> change, I left the new behavior as is.

Thank you very much for clarification!
All works that nice behind the scenes that DBD::ADO could return
Win32::OLE::Variant's. But I have a big yellow sticker on my desk
with the letters 'DBD::Proxy' ...

> In Win32::OLE 0.18 and later VT_CY and VT_DECIMAL values may also be
> returned as Win32::OLE::Variant objects, but only if you ask for that
> with:
>
>     Win32::OLE->Option(Variant => 1);

And Variant => 0 means that all types (even VT_DATE) are stringified?
Will Win32::OLE 0.18 be available on CPAN?


Thanks, Steffen

Reply via email to