新しいフォームを呼び出し、この新しいフォームで DBF を開くと、Lazarus の SIGSEGV と、Lazarus の外部でプログラムを実行すると Stack-Overflow が表示されます。OSはWin10です。
他の 2 つのフォームを同じように呼び出しても、このエラーは発生しません。
何が問題になる可能性がありますか?
フォーム TF_Menu からの呼び出し:
procedure TF_Menu.Men_ModulesClick(Sender: TObject);
begin
MModulNr := Module.Fields.FieldByName('NR').Value;
Module.close;
F_Menu.Visible := false; // Called form unvisible
F_Modules := TF_Modules.Create(Nil); // New form being created
F_Modules.ShowModal; // New form being activated/shown
FreeAndNil(F_Modules); // New form destroyed
F_Menu.Visible := true;
// …
end;
Module.Open でエラーが発生した新しいフォーム TF_Modules:
procedure TF_Modules.FormCreate(Sender: TObject);
begin
Module.FilePathFull := Modules_Lw;
Module.ReadOnly := false;
Module.Open; // Here the error occurs
Module.IndexName := 'NR';
end;