Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
ВнизВыбор Published свойств, определенных в конкретном классе Найти похожие ветки
← →
Almaz © (2004-08-03 04:09) [0]Уважаемые Господа,
Используя GetPropList, получаю список Published свойст класса, при этом мне необходимо выбрать только те свойства, которые были объявлены как Published в данном конкретном классе, а не в его предках. Возможно ли такое с учетом того, что понизить видимость свойства Delphi не позволяет ?
← →
Юрий Зотов © (2004-08-03 08:46) [1]Сделать то же самое для ClassParent и из первого списка вычесть второй.
← →
Polevi © (2004-08-03 11:25) [2]function Z(AClass: TPersistentClass; ANeedPropClass: TClass; var s: string): integer;
var
Props: PPropList;
TypeData: PTypeData;
i:integer;
begin
Result:=1;
if AClass=TPersistent then exit;
TypeData := GetTypeData(AClass.ClassInfo);
Result:=TypeData^.PropCount;
GetMem(Props, Result * sizeof(Pointer));
try
GetPropInfos(AClass.ClassInfo, Props);
for i := Z(TPersistentClass(AClass.ClassParent),ANeedPropClass,s) to Result-1 do
if AClass=ANeedPropClass then
s:=s+Format("%s::%s"#13#10,[AClass.ClassName,PPropInfo(Props^[I]).Name]);
finally
Freemem(Props);
end;
end;
← →
Almaz © (2004-08-03 13:09) [3]
> Юрий Зотов © (03.08.04 08:46) [1]
> Polevi © (03.08.04 11:25) [2]
Большое спасибо, как все логично оказалось, даже стыдно стало :)))
Удачи.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c