Как избежать того, чтобы компонент отображался как возможное значение его собственного свойства связи?

Я определил класс компонента, у которого есть свойство собственного типа:

  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;

введите здесь описание изображения


person Fabrizio    schedule 26.04.2017    source источник
comment
Префикс F по умолчанию используется для полей. Итак, FSetLinkedComponent следует назвать SetLinkedComponent.   -  person David Heffernan    schedule 26.04.2017
comment
@DavidHeffernan: Спасибо, я обновил вопрос, применив ваше предложение. Я знаю, что это побочный вопрос, но где я могу узнать что-нибудь об этих стандартах написания кода?   -  person Fabrizio    schedule 26.04.2017
comment
Поиск стандартов кодирования borland delphi   -  person David Heffernan    schedule 26.04.2017
comment
@DavidHeffernan Найдено, еще раз спасибо   -  person Fabrizio    schedule 26.04.2017
comment
Вы должны создать редактор свойств, какая у вас версия Delphi?   -  person Kohull    schedule 26.04.2017
comment
@Kohull: в настоящее время я использую Delphi-2007.   -  person Fabrizio    schedule 26.04.2017