DELPHI FAQ: Как определить, насдледовано ли свойство от определённого класса?


Как определить, насдледовано ли свойство от определённого класса?
Previous  Home  Next




function
 GetFontProp(anObj: TObject): TFont;
var

  PInfo: PPropInfo;
begin

  {Try to get a pointer to the property information for a property with the name 'Font'.
  TObject.ClassInfo returns a pointer to the RTTI table, which we need to pass to GetPropInfo}

  PInfo := GetPropInfo(anObj.ClassInfo, 'font'
);
  Result := nil
;
  if
 PInfo <> nil then
    {found a property with this name, check if it has the correct type}

    if
 (PInfo^.Proptype^.Kind = tkClass) and
      GetTypeData(PInfo^.Proptype^)^.ClassType.InheritsFrom(TFont)
      then

      Result := TFont(GetOrdProp(anObj, PInfo));
end
;


Tip by Peter Below

Взято из http://www.lmc-mediaagentur.de/dpool





DELPHI FAQ




EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100