Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

Выбор 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1091450628
sdw_syscoder
2004-08-02 16:43
2004.08.15
Компонент TProgressBar


1-1090873774
Knight
2004-07-27 00:29
2004.08.15
Можно ли сделать сдвиг одновременно всех символов в строке...


4-1089118392
Wistler
2004-07-06 16:53
2004.08.15
Работа с пользователями в домене WinNT


1-1091170634
_Garry
2004-07-30 10:57
2004.08.15
Помогите с загрузкой функции из DLL


1-1090950045
parovoZZ
2004-07-27 21:40
2004.08.15
Настройки внутри *.exe