Hi, See: http://forum.lazarus.freepascal.org/index.php/topic,40223.msg277657/
This seems rather unexpected. Is it a bug? program v; {$ifdef windows} {$apptype console} {$endif} uses variants; var X: Variant; B: Boolean; begin X := -1.5; writeln('X = ',X); B := VarIsFloat(X); writeln('VarIsFloat : ',B); B := VarIsNumeric(X); writeln('VarIsNumeric: ',B); B := VarIsOrdinal(X); writeln('VarIsOrdinal: ',B); X := Abs(X); writeln('After Abs()'); writeln('X = ',X); B := VarIsFloat(X); writeln('VarIsFloat : ',B); B := VarIsNumeric(X); writeln('VarIsNumeric: ',B); B := VarIsOrdinal(X); writeln('VarIsOrdinal: ',B); end. Outputs: C:\Users\Bart\LazarusProjecten\bugs\Console\variants>v X = -1,5 VarIsFloat : TRUE VarIsNumeric: TRUE VarIsOrdinal: FALSE After Abs() X = 2 VarIsFloat : FALSE VarIsNumeric: TRUE VarIsOrdinal: TRUE Bart _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel