掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
オブジェクトの破棄について (ID:7926)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>オブジェクトを破棄し忘れても(例えばですが)、 >アプリケーション終了時に破棄してくれますか? これは微妙な問題です。OSのバージョンにもよります。わたしが昔経験したのでは TBrush のインスタンスをいっぱいつくって解放しわすれたとき、Windows95 では アプリケーションを終了させてもGDIリソースが回復しませんでした。再起動が必要 でした。Win9X系では、GDIリソースが共通領域にとられるようです。NT系でし たら多分アプリの終了とともにリソースも解放されるでしょう。でも、プログラマ は、あくまでコードで完結するように書くべきだと思います。 > OwnerがApplicationとかなので破棄されるんですか? たとえば、Form1 に Panel1 とその上に Button1 を置いたプログラムをつくった とします。Panel1 と Button1 は TComponent の派生クラスなので、自動的に IDE はオーナーを Form1 にしてインスタンスを生成します。また、プロジェクト ファイルのコードで生成される Form1 のオーナーは Application です。 Application オブジェクトは、アプリ終了時に VCL のコードで破棄されます。 そしてそのまえに、所有している Form1 を破棄します。Form1 は自分が破棄され るまえに、所有している Panel1 と Button1 を破棄します。このようにして、 芋蔓式にはきされるので、オーナを適正に設定されているときは、そのオブ ジェクトの破棄について心配する必要はありません。コードで Free することも できます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.