Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убрать свойство с published? [D2005, XP]


Святослав ©   (2007-01-24 01:21:00) 

Помогите убрать свойство Caption в собственном дочернем компоненте!
Вариант переписать property Caption в private наработает!!!

 TMy = class(TPanel)

 private
   FTx:TLabel;
   function GetTx:TLabel;
   procedure SetTx(Tx:TLabel);
   procedure SetParent(AParent: TWinControl); override;
   property Caption;
   { Private declarations }
 protected
   { Protected declarations }
 public
   { Public declarations }
 published
   constructor Create(AOwner: TComponent);override;
   property Tx:TLabel read GetTx write SetTx;
   { Published declarations }
 end;


Джо   (2007-01-24 15:00:00) [1]

> [9] Loginov Dmitry ©   (24.01.07 14:53)
> > Да ну????
>
>
> Хм... Засунуть-то засунул, а толку действительно никакого
> нету :(

Warning'и читать нужно :) Да и вообще, ну сам посуди — чтобы это было за ООП, когда потомки смогли бы уменьшать область видимости членов предка?


Loginov Dmitry   (2007-01-24 14:53:00) [2]

> Да ну????


Хм... Засунуть-то засунул, а толку действительно никакого нету :(


Ega23   (2007-01-24 09:08:00) [3]


> MBo ©   (24.01.07 08:23) [7]


этому Флёнов учит, простым смертным этого не понять...  :)


MBo   (2007-01-24 08:23:00) [4]

>Засунул свойства в private - и во-о-ля!

Да ну????


Loginov Dmitry   (2007-01-24 07:48:00) [5]

> Видимость свойства в наследнике можно только повысить, но
> никак не понизить.


Странно! Буквально не так давно приходилось понижать видимость свойств Top, Heigth, Width, Left в наследнике TPanel. Засунул свойства в private - и во-о-ля!


Джо   (2007-01-24 02:54:00) [6]

> [3] RASkov   (24.01.07 01:54)
> > TMy = class(TPanel)
>
> Наследуй от TCustomPanel
> только придется заново нужные свойства TPanel объявлять

Captionнаходится в protectedаж в TControl.И в privateего уже не поместить, как и сказал [1] Palladin ©.


Германн   (2007-01-24 02:04:00) [7]


> Святослав ©   (24.01.07 01:21)
>
> Помогите убрать свойство Caption в собственном дочернем
> компоненте!
> Вариант переписать property Caption в private наработает!
> !!
>

Естественно. Видимость свойства в наследнике можно только повысить, но никак не понизить. Однако и не понятно зачем? Может озвучишь суть, которая тебе нужна? Может есть другие пути решения данной проблемы?


RASkov   (2007-01-24 01:54:00) [8]

> TMy = class(TPanel)

Наследуй от TCustomPanel
только придется заново нужные свойства TPanel объявлять


Святослав   (2007-01-24 01:29:00) [9]


> никак

Грусно :(


Palladin   (2007-01-24 01:24:00) [10]


> Как убрать свойство с published?

никак


Наверх

Титульная страница Поиск, карта сайта Написать письмо