Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Getting property information


How can I tell if a given object has a given property at runtime?   

    The following example shows how to determine if an object has a property available, and if so, how to change the property:

    function HasProperty(Obj : TObject;
                 Prop : string) : PPropInfo;
    begin
      Result := GetPropInfo(Obj.ClassInfo, Prop);
    end;
    procedure TForm .Button Click(Sender: TObject);
    var
      p : pointer;
    begin
      p :=  HasProperty(Button , 'Color');
      if p <> nil then
        SetOrdProp(Button , p, clRed) else
        ShowMessage('Button has no color property');
      p :=  HasProperty(Label , 'Color');
      if p <> nil then
        SetOrdProp(Label , p, clRed) else
        ShowMessage('Label has no color property');
      p :=  HasProperty(Label .Font, 'Color');
      if p <> nil then
        SetOrdProp(Label .Font.Color, p, clBlue) else
        ShowMessage('Label.Font has no color property');
    end;
    

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use