Как определить, насдледовано ли свойство от определённого классаDelphi , Компоненты и Классы , RTTIКак определить, насдледовано ли свойство от определённого класса
Автор: Peter Below 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; В статье описывается функция GetFontProp, которая позволяет определить, наследуется ли свойство "Font" от определенного класса в программировании на языке Delphi. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |