掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Create済みかどうかの判断 (ID:38726)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Assigned(P) は P<>nil と等価で、変数の値がnilかどうか確認しているにすぎません。 Hogeがグローバル変数やクラスのフィールドなら、自動的にnilで初期化されますが もしローカル変数だとしたら、自分でnilを代入しておく必要があります。 Hoge := nil; もっとも、初期化しなかったらコンパイル時に警告が出るはずですが…… (逆にnilを代入している行で「代入している値は使われない」という警告が出るようなら、 その変数は必ずCreateで値が割り当てられる、つまり心配するだけ無駄だということです) ちなみに、ヘルプにもあるように Hoge.Free はHogeがnilなら何もしません。 したがってFreeの前にnilかどうかチェックする必要はありません。 (FreeAndNilなら、二重Freeを防ぐという点で無意味ではないかもしれませんけど)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.