Акжан в сети - На уровень вверх(VCL) Имеется иерархия форм, помещенная в репозиторий. У некоторых из этих форм имеются добавленные свойства в секции published. Как сделать эти свойства видимыми инспектору для визуальной установки (как в рамках самой формы - темплейта, так и в порожденной по Inherit форме) - пока эти свойства вообще не видны, хотя, естественно, доступны и работают (т.е. ведут себя как public, а не published)?

Описываешь свой класс:

  TCoolForm = class(TCustomForm)
  ...
  pulished
    // Мои разные свойства
  end;

Регистрируешь его (компоненты регистрировать умеешь?):

procedure Register;
begin
  RegisterCustomModule(TCoolForm, TCustomModule);
end;

Что тут идет вторым параметром я не разбирался, но катит и так. По-моему, это класс, с помощью которого можно кустомизировать Design-Time popup-menu и все такое. Короче - смотри DsgnIntf.pas

В модуле пишешь:

  TMyForm = class(TCoolForm)
    ...

Это тонкое место. Базовый класс должен быть "известен" системе - не катит даже прямой наследник TCoolForm (если он не зарегистрирован) - иначе твои properties "не подцепятся". Т.е., очевидно, парсинг текста в Design-time вообще не производится ( плохо :( ). Самое разумное - подготовить template и занести его в репозиторий - ну это ты и так делаешь.Все.

Да, чуть не забыл, справедливо для D3. Другие версии не знаю.

Max Rusov

(2:5030/456.1)