0

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

  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;

在此处输入图像描述

4

0 回答 0