Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как скрыть __published свойство, Разработка компонентов 
:(
    Опции темы
Vyacheslav
Дата 3.6.2002, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Речь идет о сокрытии опубликованных свойств компонента-предка в производном компоненте.
Скрыть "штатно"  опубликованное свойство нельзя. Поэтому разработчики как правило в иерархию вставляют промежуточный класс TCustomXXX, который отличается от конечного класса TXXX только тем, что в нем не опубликованы добавленные разработчикрм свойства. Если такой Custom компонент есть, то лучше свои компоненты  порождать от него, публикуя выборочно только те свойства, которые нужны.
Если такого компонента нет, или по какой-то причине хочется использовать конечный компонент, то можно немного cхитрить, объявив в своем компоненте свойство с таким же именем и типом. При этом у свойства, как минимум, не должен быть задан атрибут write. В нижеследующем примере у TMyComponent скрывается свойство Tag

Исходный код:

class PACKAGE TMyComponent : public TComponent
{
private:
protected:
public:
published:
__property int Tag  = {};
};




Правда программно придется к Tag обращаться, используя полную квалификацию типа
TMyComponent* c = new TMyComponent(this);
c->TComponent::Tag = 1;




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0368 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.