Как скрыть унаследованное свойство __published в производном классе в компоненте VCL? - PullRequest
0 голосов
/ 15 марта 2010

Я создал новый компонент VCL на основе существующего компонента VCL. Теперь я хочу установить свойства Password и Username из ini-файла вместо инспектора свойств.

Роберт Данн Линк

Я читал на форуме delphi выше, что вы не можете отменить публикацию свойства, и что единственный обходной путь - переопределить свойство как доступное только для чтения. Я пробовал это, но все, что он делает, это делает свойство доступным только для чтения и затемненным в инспекторе объектов. Хотя это может сработать, я бы предпочел, чтобы собственность вообще не была видна.

__ property System :: UnicodeString Password = {read = FPassword};

Заранее благодарим за любую помощь или ссылки на учебники по написанию компонентов C ++ VCL. Я использую CB2010

Ответы [ 2 ]

2 голосов
/ 15 марта 2010

Посмотрите вверх DesignIntf.UnlistPublishedProperty.См. этот рисунок .

0 голосов
/ 15 марта 2010

Определенный язык не позволит вам скрыть опубликованные свойства.

Я бы использовал агрегацию, а не наследование, т. Е. Создайте новый компонент VCL, который делегирует свои методы существующему компоненту, и вы получите полный контроль над тем, какие свойства публиковать.

...