掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
With TList.CreateのFreeのしかた。 (ID:4347)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 個人的には、元質問のようなインスタンスを明確にしない with の使用はしないようにしています。 というのはわかっているんですけど、ついついやっちゃうんですよね、簡単なので…^^; ええと、こういう風にやります。 Delphiですから、BCBに翻訳してください。あまり変わらないと思います。 With TList.Create do begin try //何かする finally Free; end; end; です。ここで、try..finallyは、オブジェクト生成の決まり文句なので(必ず破棄できるようにするため)、こうしておきましょう。 with内のFreeは、TFormにもあるメソッドなので、使用をためらうでしょうけど、 この場合、まずwith文の中から(もっと言うと、with文内のdoに近いほうから)参照されるので、 問題はありません。 たとえば以下のような構文もOKです。 with FileList.Items, TList.Create do begin try... // FileListは、事前に宣言したTListBoxとします。 最後にFreeした場合は、TListのFreeが呼ばれますし、 Deleteメソッドを使っても、TListのが呼ばれます。 でも、こうすると、 procedure ABC(List: TList)みたいな関数に渡すことはできません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.