Subject | Re: [IBO] DML Caching |
---|---|
Author | Geoff Worboys |
Post date | 2001-08-30T01:05:31Z |
> I may need some help on that because I haven't gotWhen the exception appears in Delphi, simply display the CallStack
> into callstacks yet but here is a but more
> information that may point the way a bit.
window and write out the top few lines.
If you rebuild with VCL debug libraries you will be able to get a
callstack that shows whether the actual exception is appearing in VCL
code (rather than IBO code). This can really help to discover exactly
what the problem is, for example; the last time I tracked down such a
problem I could see that the error occurred in a call to an MS DLL,
this meant that there was no "fix" possible and so a work around had
to be implemented.
> TVarData(Result).VType := VT_DECIMAL_X;This is a fudge to try and force variants to support int64. The code
>
> where VT_DECIMAL_X is 14
>
> Does this help?
you see in IBO was a copy of what the VCL was doing in Delphi4/5. I
had hoped that by Delphi6 they may have implemented something less
clumsy.
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)...
function TLargeintField.GetAsVariant: Variant;
begin
if IsNull then
Result := Null else
begin
TVarData(Result).VType := VT_DECIMAL;
Decimal(Result).lo64 := GetAsLargeInt;
end;
end;
Geoff Worboys
Telesis Computing