![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Published-свойство типа <B>TClass</B> - не читается в Runtime. [D7]
Saint © (2004-06-25 14:52:00)Нужно прочитать свойство типа TClass из объекта. Имя свойства известно, но GetPropInfo(o,'PropName') возвращает nil!!!
Для аналогичной ситуации со свойством типа integer - все работает...
Приводить к типу для чтения свойства напрямую нельзя,(возможных типов много, одного потомка с этим свойством нет, и кроме того не хотелось бы линковать библиотеку с кучей модулей, на которые появится ссылка в коде при использовании приведения типов).
Так что выход один - читать через RTTI. А тут такой косяк. Помогите инфой...
Юрий Зотов (2004-06-25 15:49:00) [1]Насколько помню, для метаклассов RTTI не генерируется - а если так, то получить ссылку не конкретный класс через RTTI и не получится.
Но решение все же есть, простое и не раз проверенное. Само свойство можно сделать строковым (имя класса), а в его методе Set уже получать (и сохранять в поле) ссылку на класс (см. GetClass и RegisterClasses).