Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Eigenschaften auf "Vorhandensein" prüfen?

  Alt 15. Jan 2009, 17:34
Zitat von moelski:
Gibt es da nicht so einen Weg:
Button_DrawAll.Enabled := Serie(Property).available Ok so geht das ganz sicher nicht, aber ich wollte es nur mal deutlich machen was ich meine. Also quasi eine Zeile Code die selber prüft ob der Serientyp eine Eigenschaft hat oder nicht. Geht das ?
Ja, hier wird das Prinzip beschrieben:

Run-Time Type Information In Delphi - Can It Do Anything For You?
http://www.blong.com/Conferences/Bor...CommonAncestor

Das Beispiel auf dieser Seite sucht nach Enabled Properties
Delphi-Quellcode:
procedure DisableThem(Comps: array of TComponent);
var
  Loop: Integer;
  PropInfo: PPropInfo;
begin
  for Loop := Low(Comps) to High(Comps) do
  begin
    { Get info record for Enabled property }
    PropInfo := GetPropInfo(Comps[Loop].ClassInfo, 'Enabled');
    { If property exists, set value to False }
    if Assigned(PropInfo) then
      SetOrdProp(Comps[Loop], PropInfo, Longint(False));
  end;
end;
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat