[fpc-pascal] Implicit conversion problem with TDate type
lacak at zoznam.sk
Wed Nov 2 11:50:04 CET 2016
Dňa 2.11.2016 o 11:38 Michael Van Canneyt napísal(a):
> On Wed, 2 Nov 2016, Gabor Boros wrote:
>> Hi All,
>> I use MWA's IBX for Firebird connection and have problem with date
>> parameters. Tony provided to me a test program a suggested write to
>> the FPC list. The simple test program is:
>> program Project1;
>> uses Variants, Sysutils;
>> var V: variant;
>> D: TDate;
>> D := EncodeDate(2016,10,20);
>> V := D;
>> writeln('date is ',VarType(D));
>> The result is: "date is 5" (varDouble)
>> If modify D: TDate; to D: TDateTime; the result is "date is 7" (varDate)
>> I (We) missed something or is this a bug?
> Only TDateTime is automatically converted correctly to Variant.
> TDate and TTime are distinct types and not automatically converted.
> They are seen as doubles (the original type of TDateTime).
> If Delphi prints another result, then we can look at fixing the
Delphi7 prints 5
Of course you can use V := TDateTime(D); then prints 7
More information about the fpc-pascal