メモリ節約の為に、既に設計時に配置したコンポーネントのインスタンスを破棄し、何かのイベントで再び作成ということがしたいです。
例えば、フォームに貼り付けてあるラベルをボタンを押すことで破棄し、
再度ボタンを押すと作成される、ということがしたいです。
よろしくお願いします。
var
Lbl:TLabel;
//作成
Lbl := TLabel.Create(Self);
Lbl.Parent := Form1;
Lbl.Left := 0;
Lbl.Top := 0;
//破棄
Lbl.Free;
こんな感じでしょうか
Lupinさんお返事ありがとうございます。
質問が要領を得てなくてすみません。
私がやりたいことは、例えば、設計時にLabelのフォントやイベントを設定し、フォームに配置しておき、実行時に必要な時だけLabelの
破棄・作成をしたいのです。再生成したときには設計時と同じフォントや
イベントを持った状態で生成して欲しいんですが、出来ますでしょうか?
一度破棄してしまうと、再度作成するときは新たにプロパティ等を
設定し直さないといけないのでしょうか?
Labelが大量に有るのなら、一つだけ残しておいて、そこからAssignすればよいと思います。
Labelが大量に無ければ、放棄しなくてもよいと思います。
>イベントを持った状態で生成して欲しいんですが、出来ますでしょうか?
>一度破棄してしまうと、再度作成するときは新たにプロパティ等を
>設定し直さないといけないのでしょうか?
破棄というのは、そのような情報も破棄しているわけです。
いいかえれば、プロパティを保持するのにメモリを使っているようなわけですし。
uwaouさん、こんにちは
Labelをメモリーが足りなくなるほど使う方がどうかと思います。
こんな場合は、システムを見直す方が先だと思います。
使う器械よって、動いたり動かなかったりします。
ツイート | ![]() |