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

Ниже представлен пример кода:

 

 

 

 

Code:

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 <> nilthen

   {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;

 

 

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить