動的に作成したコントロールの削除方法

解決


リュウ  2004-08-27 05:48:40  No: 10613

動的にTImageを作成し図を表示させることができました。
動的に作成したTImageを削除することは可能でしょうか?


TtPIPICH  2004-08-27 06:21:58  No: 10614

そのコンポーネントのfreeメソッドを呼び出します。


リュウ  2004-08-27 07:20:17  No: 10615

ありがとうございます。上手く行きました。


snowman  2005-06-12 06:46:50  No: 10616

コントロールをダイレクトにFreeしてしまうとオーナーのコントロールリストに無効ポインタとして残ってしまいます。

TWinControl:RemoveControl
が最善かもしれません。


えーと  2005-06-12 07:55:22  No: 10617

>コントロールをダイレクトにFreeしてしまうとオーナーのコントロールリストに無効ポインタとして残ってしまいます。

これは初耳です。わたしが試したところではそんなことはないです。


  2005-06-12 09:23:47  No: 10618

// Classes.pasより抜粋
destructor TComponent.Destroy;
begin
  // 省略
  if FOwner <> nil then FOwner.RemoveComponent(Self); // ※
  inherited Destroy;
end;

> オーナーのコントロールリストに無効ポインタとして残ってしまいます。
※の部分をご覧ください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加