Lazarus エラー時に強制終了を表示させない方法


執筆:2010.1.11(成人の日)
編集:2010.1.11
編集:2016.04.01


アプリケーションがエラーで強制終了する仕様は
version 1.7 (リビジョン: 51739 日時: 2016年2月28日 16:33:49)
で、改善されました



今日の講義は、lazarus で作ったアプリケーションのエラー時の動作変更です。

今日の材料: lazarus 0.9.29

既定では、エラーが発生すると、強制終了しますか?と尋ねてきます。
間違って、OK以外を選択すると、Haltを呼び出し アプリケーションが消滅します。
データを扱っているアプリケーションの場合、この動作が致命的な場合もあります。

【まとめ】
  • 最新版では、この不具合は修正されています
    アプリを Lazarus Version1.8 以降でコンパイルしなします

  • Lazarus Version1.7 以前の場合
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      with Application do Flags := Flags + [AppNoExceptionMessages];
    end;

    procedure TForm1.ApplicationProperties1Exception(Sender: TObject; E: Exception);
    begin
     {
    uses節にLCLTypeを追加します }
      with Application do
       MessageBox(PChar(E.Message),PChar(Title),MB_OK+MB_ICONERROR);
    end;




今日のキーワード:
lazarus
Exception
Press OK to ignore and risk data corruption. Press Cancel to kill the program.
Application.Flags
AppNoExceptionMessages
like Delphi