Как получить список всех published свойств (имена и типы)Delphi , Компоненты и Классы , RTTIКак получить список всех published свойств (имена и типы)
Автор: Ronan van Riet function GetComponentProperties(Instance: TPersistent; AList: TStrings): Integer; var I, Count: Integer; PropInfo: PPropInfo; PropList: PPropList; begin Result := 0; Count := GetTypeData(Instance.ClassInfo)^.PropCount; if Count > 0 then begin GetMem(PropList, Count * SizeOf(Pointer)); try GetPropInfos(Instance.ClassInfo, PropList); for I := 0 to Count - 1 do begin PropInfo := PropList^[I]; if PropInfo = nil then Break; if IsStoredProp(Instance, PropInfo) then begin { case PropInfo^.PropType^.Kind of tkInteger: tkMethod: tkClass: ... end; } end; Result := AList.Add(PropInfo^.Name); end; finally FreeMem(PropList, Count * SizeOf(Pointer)); end; end; end; В статье описывается функция GetComponentProperties, которая возвращает список всех published свойств (имена и типы) класса, включая их типы, методы и свойства. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |