Subject Re: [IBO] Fields[xx].value - unidentifyed type: 14
Author Helen Borrie
Geoff,

Thanks!

HYN

Helen

At 07:30 PM 02-01-01 +1100, you wrote:
>Helen,
>
> > >In other words, variant of type 14 is longlong, I mean INT64.
> >
> > Are the variant types documented anywhere?
>
>The type value is refering to the VType field of the Variant record
>(so we are talking VCL not Interbase). The datatypes truly supported
>by Variant (OLE implementation) can be found in the online help about
>variants. The closest the VCL gets to documenting its internal
>extensions to variant is inside ActiveX.pas (search for VT_DECIMAL).
>
>I am presuming that Borland provide internal support for certain
>conversions of their extended types but they have not been
>comprehensive with this support. So the difficulty is that various
>third party implementations make invalid assumptions and call Variant
>processing functions that do not support the type extensions.
>
>I think I posted some time ago about another problem related to
>Variant. The VCL lets much of the Variant processing go through to MS
>supplied functions - which includes the translation of date and
>numeric values into strings and back again, using operating system
>settings. This means that you cannot use the global VCL values to
>control the formatting of numbers and dates through variants.
>
>I guess the moral of the story is to be very careful when using
>Variant.
>
>
>We could write some additional translation functions (I already have
>one for the number/date to string problem), but this will not help
>with third party libraries.
>
>Another alternative would be to translate unsupported field types into
>strings (where possible), instead of following the VCL example of
>using VCL specific type extensions. At least that way we may avoid
>the worst of the problems.
>
>Geoff Worboys
>Telesis Computing
>
>

All for Open and Open for All
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________