我已经定义了一个具有自己类型属性的组件类:
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;