[fpc-devel] variant type - crash question

Florian Klaempfl florian at freepascal.org
Thu Dec 16 08:50:01 CET 2010


Am 16.12.2010 07:50, schrieb Sergei Gorelkin:
> Martin пишет:
>> Never used variants much.
>>
>> But the below compiles, and then gives a SigSegV (w32).
>> Is that to be expected? Or ?
>>
>> program Project1;
>> {$mode objfpc}{$H+}
>> uses
>>   Classes;
>>
>> procedure Foo(v1,v2: Variant; constref v3,v4: Variant);
>> begin
>> writeln(v1,v2,v3,v4);
>> end;
>>
>> begin
>>   Foo(1,'a',2,'bc');  // <<<<<<< Fails in this line
>> end.
>>
> If you add unit Variants to uses clause, the bug is gone.
> 
> The compiler is known to add unit Variants automatically (and issue a
> warning when it does so).
> Strange thing is that it doesn't happen in this particular case.

This is because no variable of the type variant is declared.



More information about the fpc-devel mailing list