自作クラスを作って、それをObjectListで管理しています。
グローバル変数に、
var Classes: TObjectList;として、
procedure TForm1.FormShow(Sender: TObject);
begin
Classes := TObjectList.Create;
end;
という風に宣言しました。
CreateしたものはFreeするべきらしいので、
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Classes.Free;
end;
と、開放しています。
自作クラスもCreate、Freeで生成、開放しています。
自作クラスをFreeしたときだけ、アプリケーションの終了時に無効なポインタ操作のエラーが出ます。
Classes.Freeを削除した場合はそんなエラーが出ないのですが。
TObjectList.OwnsObjectsプロパティが True だからでは?
この場合、デストラクタで呼び出されるClearメソッドが実行時に、
管理している自作クラスも破棄されます。
ありがとうございます
解決いたしました。
ツイート | ![]() |