![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверить, есть ли ;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 или нет...