[Lazarus] Old Lazarus code fail at runtime

José Mejuto joshyfun at gmail.com
Wed Dec 28 14:01:54 CET 2016

El 27/12/2016 a las 12:26, Chavoux Luyt via Lazarus escribió:
> Hi,
> I wrote a small program for Linux in a previous version of Lazarus which
> compiled and ran without problems before. I have now updated to fpc
> 3.0.0 and Lazarus 1.6 (backports version for Debian X86_64 Jessie). The
> code still compiles perfectly (it had a number of warnings, but these
> have now disappeared: e.g. unixfileutil.inc(6,51) Warning: Symbol
> "UTF8ToSys" is deprecated: "Use the function in LazUTF8 unit"), but it
> results in a runtime error
> "Project birds raised exception class 'External: SIGFPE'.
>  At address 7FFFEF8FC57F"
> when running the following code:
> procedure THoofVrm.OpenBtnClick(Sender: TObject);
> begin
>   OpenDlg.Execute;
> end;
> What is wrong with my code (and how should I change it)?


Probably nothing wrong by your side, try to disable math exceptions 
before the call to .execute and reenable after it (C code does not trap 
math exceptions).

uses math;

   oldexcept: TFPUExceptionMask;

oldexcept := SetExceptionMask([exInvalidOp, exDenormalized, 
exZeroDivide, exOverflow, exUnderflow, exPrecision]);




More information about the Lazarus mailing list