Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Свойство компонента. (http://forum.oszone.net/showthread.php?t=30429)

Prisoner 28-06-2003 20:48 208583

Иногда надо узнать есть ли у компонента то или иное свойство, так вот, как во время выполнения проги выяснить в процедурке есть ли у переданного ей компонента (TComponent) скажем свойство Caption. Возможно ли сие? Не проверять же типы компонет is или не is %\

vasketsov 29-06-2003 00:58 208584

Prisoner
Если это твое свойство, то проще всего это сделать через интерфейс. То есть, опиши свой интерфейс и проверяй, реализует его компонент или нет. Привязка к классу в этом случае не нужна (то есть, ссылки на кучу модулей добавлять не придется).

Выполнение методов (а, следовательно, и чтение/запись свойств) можно реализовать через DefaultHandler, он у всех объектов есть, тоже своего рода интерфейс.

В общем случае задача проверки наличия свойства у компонента по ссылке на него - нерешаемая. Для published - можно, но тоже нетривиально (можно попытаться сохранить объект в своем хранилище, если свойство сохраняемое, ты его получишь).

Как вариант - если есть доступ к ресурсам (DFM) - пропарсить их.

Prisoner 29-06-2003 04:03 208585

Ответ пусть и не обнадеживающий, но большое спасибо за оный...


Время: 07:14.

Время: 07:14.
© OSzone.net 2001-