私のプロジェクトでは、基本フォームから継承された MDIChild フォームを使用しています。私の問題はメモリ管理に関するものです。FormClose イベントでフォームを解放した後(FreeAndNil による)、Delphi は引き続きメモリを保持し、解放しません。
そのためにはどうすればよいですか?MDI 管理の違いか何か?
いくつかの子フォームを開いた状態でアプリケーションを終了しても、Delphi はメモリ リークなしで子フォームを解放します。何が起こっているかのヒントを得るには、ソース プロジェクトのコードにこれを挿入します。
Begin
ReportMemoryLeaksOnShutdown:= DebugHook <> 0;
…
end.
IDE でアプリケーションを実行し、通常行うことを行ってから、アプリケーションを閉じます。Delphi は、発生したメモリ リークとその原因についてのヒントを通知します。
私は常にアプリケーションで上記の行を使用します。テスト(デバッグ)するとき、Delphi はシャットダウン時のメモリ リークについて通知します。