На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Object Pascal / Как во время выполнения определить поддерживает ли обьект заданное свойство? Сделать домашней страницей Добавить в избранное Написать писмо

Как во время выполнения определить поддерживает ли обьект заданное свойство?




function HasProperty(Obj : TObject; Prop : string) : PPropInfo;
begin
   Result := GetPropInfo(Obj.ClassInfo, Prop);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   p : pointer;
begin
   p := HasProperty(Button1, 'Color');
   if p <> nil then
       SetOrdProp(Button1, p, clRed)
   else
       ShowMessage('Button has no color property');
   p := HasProperty(Label1, 'Color');
   if p <> nil then
       SetOrdProp(Label1, p, clRed)
   else
       ShowMessage('Label has no color property');
   p := HasProperty(Label1.Font, 'Color');
   if p <> nil then
       SetOrdProp(Label1.Font.Color, p, clBlue)
   else
       ShowMessage('Label.Font has no color property');
end;



Источник: Дельфи. Вокруг да около.



Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz