Prisoner
28-06-2003, 20:48
Иногда надо узнать есть ли у компонента то или иное свойство, так вот, как во время выполнения проги выяснить в процедурке есть ли у переданного ей компонента (TComponent) скажем свойство Caption. Возможно ли сие? Не проверять же типы компонет is или не is %\
vasketsov
29-06-2003, 00:58
Prisoner
Если это твое свойство, то проще всего это сделать через интерфейс. То есть, опиши свой интерфейс и проверяй, реализует его компонент или нет. Привязка к классу в этом случае не нужна (то есть, ссылки на кучу модулей добавлять не придется).
Выполнение методов (а, следовательно, и чтение/запись свойств) можно реализовать через DefaultHandler, он у всех объектов есть, тоже своего рода интерфейс.
В общем случае задача проверки наличия свойства у компонента по ссылке на него - нерешаемая. Для published - можно, но тоже нетривиально (можно попытаться сохранить объект в своем хранилище, если свойство сохраняемое, ты его получишь).
Как вариант - если есть доступ к ресурсам (DFM) - пропарсить их.
Prisoner
29-06-2003, 04:03
Ответ пусть и не обнадеживающий, но большое спасибо за оный...
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.