掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
構造ビュー上に大量の<Components[数字]>が現れます (ID:46952)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 現在作っているプログラムのTPanel上に、TLineを使って動的に線を表示する機能を付けました。 TLineはTPanelを継承したクラスのメンバとなっています。 プログラムは動作的には問題ないのですが、構造ビュー上でPanelの配下に大量の"<Components[数字]>"という非表示の コンポーネントが現れています。 "<Components[数字]>"をクリックすると、オブジェクトインスペクタに"<名前無し> TLine"と表示されるので、 それがTLineのオブジェクトだとわかります。 たぶんビルドを繰り返す度にそれが増えていっていると思うのですが、現在<Components[1]>〜<Components[100]> のTLineがTPanelの配下に表示されています。 こうなってしまうのはカスタムコンポーネントを作る手順が間違っているからでしょうか? どうかよろしくお願いいたします。 抜粋ですが、クラスは以下のようになっています。 type TCustomPanel = class(TPanel) private { Private 宣言 } FMyLine: TLine; protected { Protected 宣言 } public { Public 宣言 } constructor Create(AOwner: TComponent); override; destructor Destroy; override; published { Published 宣言 } end; コンストラクタ、デストラクタは以下のようになっています。 constructor TCustomPanel.Create(AOwner: TComponent); begin inherited Create(AOwner); FMyLine := TLine.Create(Self); FMyLine.Parent := Self; FMyLine.LineType := TLineType.Left; FMyLine.Size.Width := 3; FMyLine.StrokeThickness := 3; end; destructor TCustomPanel.Destroy; begin if Assigned(FMyLine) then FreeAndNil(FMyLine); inherited Destroy; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.