Subject Re: [IBO] DML Caching
Author Svein Erling Tysvær
>If Delphi6 has a db.pas unit can you check the following function to
>see if it looks the same as shown below (from Delphi5)...

No, it is simplified a bit:

function TLargeintField.GetAsVariant: Variant;
begin
if IsNull then
Result := Null else
begin
Result := GetAsLargeInt;
end;
end;

>Since you have Delphi6 (I dont yet) - can you check out its online
>help and see what (if anything) it says about variants, variant arrays
>and support for int64.

All I could find that may be relevant was:

"Most standard routines that take integer arguments truncate Int64 values
to 32 bits. However, the High, Low, Succ, Pred, Inc, Dec, IntToStr, and
IntToHex routines fully support Int64 arguments. Also, the Round, Trunc,
StrToInt64, and StrToInt64Def functions return Int64 values. A few
routines—including Ord—cannot take Int64 values at all."

and

"TLargeintField.AsVariant

property AsVariant: Variant;

Description

Use AsVariant to
Assign the large integer field value to Variant value.
Assign a Variant value to the large integer field.

For example, this code assigns a Variant value to a large integer field value:

MyLargeIntegerField.AsVariant := VariantVariable;

To assign a large integer field value to a variant value, use code similar
to this:

VariantVariable:= MyLargeIntegerField.AsVariant;

Using Variants is useful when both the actual field type and the type of
the data are unknown.

If a value assigned to the field is not within the range established by the
MinValue and the MaxValue properties, an EDatabaseError exception is raised."

HTH,
Set