独自のタイプのプロパティを持つコンポーネント クラスを定義しました。
TMyComponent = class(TComponent)
private
FLinkedComponent : TMyComponent;
procedure SetLinkedComponent(AValue : TMyComponent);
published
property LinkedComponent : TMyComponent read FLinkedComponent write SetLinkedComponent;
end;
では、Object Inspector
明らかにLinkedComponent
コンポーネント自体にプロパティを割り当てることができますが、それが発生することは望ましくありません。
現時点では、プロパティ セッターに条件を追加することで目標を達成しましたが、コンポーネントがドロップダウン リストに表示されないようにする方法があるかどうか疑問に思っています。
procedure TMyComponent.SetLinkedComponent(AValue : TMyComponent);
begin
if(AValue = Self)
then raise Exception.Create('Can''t set this component as LinkedComponent');
FLinkedComponent := AValue;
end;