[fpc-devel] Variant assignment error
    Alexander Todorov 
    alexx.todorov at gmail.com
       
    Wed Jan 25 22:35:27 CET 2006
    
    
  
Hi to all,
When assigning string that represent numerical value to a variant and
after that assigning that variant to a numeric variable an exception
is raised. When debugging it shows the following message :
-------------------------------------------------------------------------------
EVarianterror
###(gdb unparsed remainder: s $0 out of bounds>)###)
-------------------------------------------------------------------------------
The error is for Int64 and Double types. Should I check for values
from other numerical types?
Here is the sample program.
------------------------------------------------
program project1;
{$mode objfpc}{$H+}
uses SysUtils, Variants;
var D : Double;
    V : Variant;
    I64 : Int64;
    I : Integer;
begin
  V := 150000000; //150 000 000
  I := V;
  writeln('integer - ', I);
  V := IntToStr(150000000);
  I := V; // <--- works
  writeln('integer str - ', I);
  V := 150000000000; // 150 000 000 000
  I64 := V;
  writeln('int64 - ', I64);
  V := IntToStr(150000000000);
  I64 := V;  // <--- doesn't work  FPC / Delphi 6
  writeln('int64 str - ', I64);
  V := 3.14;
  D := V;
  writeln('double - ', D);
  V := FloatToStr(3.14);
  D := V;  // <--- doesn't work FPC. works in Delphi 6
  writeln('double str - ', D);
end.
------------------------------------------------
Tested with FPC 2.0.1 on Windows XP. Should I add a bug report for that ?
    
    
More information about the fpc-devel
mailing list