Createしたオブジェクトが存在しているかどうか調べるには?

解決


やまだ  2011-09-14 18:40:06  No: 40947  IP: [192.*.*.*]

お世話になっております。

Delphi2007,XPです。

Createで、動的にオブジェクトを作る場合に、そのオブジェクトが現在存在しているかどうか調べる方法はありますか?

なぜそのように調べたいかというと、オブジェクトを作成したり、破棄したりを繰りかえすからです。

以下のように、ボタンを作成しようとしています。

bt:Tbutton;
で宣言をします。

bt:=tbutton.Create(self);
で、ボタンを作成します。

bt.Free;
で、ボタンを破棄します。

プログラムの中では、頻繁にCreate,Freeを繰り返します。
なので、ボタンが存在するかどうか調べて、ボタンが存在するときだけ破棄し、ボタンが存在しないときだけ作成したいのです。

よろしくお願いします。

編集 削除
 2011-09-14 20:12:16  No: 40948  IP: [192.*.*.*]

開放時に

FreeAndNil

して、作成が必要か判定するときに

bt = nil

かどうかを見ては?

編集 削除
やまだ  2011-09-14 20:37:43  No: 40949  IP: [192.*.*.*]

ありがとうございます。

開放時に
FreeAndNil
したら、判定するときに
bt = nil
かどうかを見て判定できました。

ありがとうございました。

編集 削除