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

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

Проверить, есть ли ;property


Вадим ©   (2002-06-29 00:19:00) 

Как проверить, есть ли у Components[x] какое-либо свойство, например Caption.
Спасибо.


MBo   (2002-07-01 13:30:00) [1]

см. исходники TypInfo.pas

SetXXXProp


FilSM   (2002-07-01 13:26:00) [2]

Вопрос встречный. Известно, что свойство у контрола есть(ReadOnly например), но какой контрол надо будет обработать,
заранее не известно. Как изменить известное свойтсво у неизвестоного контрола?


Юрий Зотов   (2002-06-29 15:58:00) [3]

Список published-свойств (включая события) любого объекта дает функция GetPropList (см. модуль TypInfo).

Список published-методов любого объекта можно получить проходом по method definition table. Адрес этой таблицы находится по смещению vmtMethodTable (см. модуль System) от начала VMT, а начало VMT дает класс объекта. Имена методов хранятся в ней в виде ShortString, а ее структуру можно исследовать в окне CPU.


JR   (2002-06-29 14:45:00) [4]

Если можно, немного перефразирую вопрос: как получить список доступных свойств, функций (процедур), полей компонента (а если возможно, то объекта).
С уважением
Евгений.


MBo   (2002-06-29 06:39:00) [5]

uses typinfo

if getpropinfo(button1,"Caption")<>nil then есть такое published


[NIKEL]   (2002-06-29 03:49:00) [6]

Смотри от кокого класса он наследуеться, соответственно узнаешь есть ли у него капшин или нет - тебе надо проверять наследуется он от TControl или нет...


Наверх

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