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

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

TComponent->Enabled ??? [D6, WinXP]


Bloodrayne ©   (2006-06-21 23:05:00) 

Здравствуйте.
У меня такой вопрос:

Мне в программе нужно сначала дизейблить, потом обратно енейблить набор различных компонент (пока TTabSheet, TMenuItem, TButton, но потом могут добавиться ещё).

Я делаю так:
Создаю вектор из TComponent*, в который запихиваю необходимый список компонент. Потом

for(int i =0; i < MyVector.size(); ++i)
{
   MyVector[i]->Enabled = true;//или false;
}


Но тогда вылезает ошибка, ведь у TComponent нет свойства Enabled.

Если написать так:

((TButton*)MyVector)->Enabled = ...;

то работает, но только с TButton и всеми его наследниками.

Пробовал посмотреть иерархию наследований:
TMenuItem сразу от TComponent
остальные через другие.

Как поступить?


Phoroon~   (2006-06-22 00:17:00) [1]

А ты проверяй наличие свойства!
Типо вот так вот:

TypInfo.GetPropInfo (My_Component.ClassInfo, 'Hint') <> nil

(точно не помню, но это определяет только published свойства)


Наверх

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