![]() |
Иногда надо узнать есть ли у компонента то или иное свойство, так вот, как во время выполнения проги выяснить в процедурке есть ли у переданного ей компонента (TComponent) скажем свойство Caption. Возможно ли сие? Не проверять же типы компонет is или не is %\
|
Prisoner
Если это твое свойство, то проще всего это сделать через интерфейс. То есть, опиши свой интерфейс и проверяй, реализует его компонент или нет. Привязка к классу в этом случае не нужна (то есть, ссылки на кучу модулей добавлять не придется). Выполнение методов (а, следовательно, и чтение/запись свойств) можно реализовать через DefaultHandler, он у всех объектов есть, тоже своего рода интерфейс. В общем случае задача проверки наличия свойства у компонента по ссылке на него - нерешаемая. Для published - можно, но тоже нетривиально (можно попытаться сохранить объект в своем хранилище, если свойство сохраняемое, ты его получишь). Как вариант - если есть доступ к ресурсам (DFM) - пропарсить их. |
Ответ пусть и не обнадеживающий, но большое спасибо за оный...
|
Время: 07:14. |
Время: 07:14.
© OSzone.net 2001-