如何避免将组件显示为其自身链接属性的可能值?

时间:2017-04-26 12:31:48

标签: delphi properties components delphi-2007 delphi-ide

我已经定义了一个具有自己类型属性的组件类:

  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;

enter image description here

0 个答案:

没有答案