掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メモリの解放について (ID:18840)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
iniファイルから値を取得するプログラムを作成しているのですが、プログラム内で頻繁にiniファイルを読み書きするためprivateにIniを宣言しています。 プログラム内で「Ini := TMemIniFile.Create('C:\test.ini');」で何回かIniオブジェクトを生成して、最後にFormDestroyでまとめてIniオブジェクトを解放しようとしたのですが、下記の例で言う①のIniオブジェクトのメモリが解放されません。(②のIniオブジェクトだけ解放されます) FormDestroyで①と②のIniオブジェクトを解放するには、 どうしたら良いのでしょうか? 1回1回Ini.Freeで解放しろと言われればそれまでですが、 Createしている箇所が多いためFormDestroyでまとめて解放出来ないかと 思った次第です。 type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); private Ini: TMemIniFile; { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation procedure TForm1.Button1Click(Sender: TObject); var strIni1: String; strIni2: String; begin Ini := TMemIniFile.Create('C:\test.ini'); … ① strIni1 := Ini.ReadString('Section', 'Key1', ''); Ini := TMemIniFile.Create('C:\test.ini'); … ② strIni2 := Ini.ReadString('Section', 'Key2', ''); end; procedure TForm1.FormDestroy(Sender: TObject); begin Ini.Free; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.