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

Вниз

Как получить список свойств класса   Найти похожие ветки 

 
aleshap   (2004-10-12 10:16) [0]

Уважаемые мастера!
Каким образом можно получить список всех свойств класса из области public?
При использовании RTTI получается получить доступ только к published свойствам.

var TD:PTypeData;  
   List:PPropList;
   i,N:Integer;
begin
  TD:=GetTypeData(CInfo.ClassInfo);
  N:=TD.PropCount;
  if N<=0 then exit;
  GetMem(List,SizeOf(PPropInfo)*N);
try
  GetPropInfos(TObject(TD).ClassInfo ,List);
  for i:=0 to N-1 do begin
    Memo.Lines.Add(List[i].Name);
  .....


Ведь Delphi же их как то получает?
Спасибо


 
aleshap   (2004-10-12 10:34) [1]

НИКАК!
Все вопрос снят! Спасибо за участие


 
TUser ©   (2004-10-12 10:38) [2]

published - это и есть такой механизм, который описывает информацию доступную, через RTTI. Все что не-published через RTTI недоступно (в смысле - все свойства класса).

Delphi - у него есть компилятор, он исходники читает.


 
Sapersky   (2004-10-12 10:47) [3]

Каким образом можно получить список всех свойств класса из области public?

Распарзить исходник :)
Смех смехом, но я делал нечто подобное, правда, для записей... (для автоматического чтения/сохранения в ini).
Правда, парзер кривоват получился, работает не очень надёжно, ограничений на вид исходника масса... зато не надо писать много-много ini.WriteString(bla-bla-bla) :)


 
aleshap   (2004-10-12 10:49) [4]

тогда проблема в том что исходников может и не быть....


 
TUser ©   (2004-10-12 10:50) [5]

Тогда никак. Почти никак - можно DeDe"й "декомпилировать" и посмотреть.


 
aleshap   (2004-10-12 10:53) [6]

Да ладно забудьте - то, что вы предлагаете - "овчинка выделки не стоит"



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.055 c
14-1096615495
TUser
2004-10-01 11:24
2004.10.24
Рихтер для Линукса ect


4-1095835762
SkyN
2004-09-22 10:49
2004.10.24
Выводить текст шрифтом, не устанавливая его в системе.


3-1096375935
msguns
2004-09-28 16:52
2004.10.24
Запрос к 2-м БД в ADO(Access)


8-1088930530
VVV
2004-07-04 12:42
2004.10.24
Обмен переменными между Flash ем и Delphi


14-1096990976
Хайер
2004-10-05 19:42
2004.10.24
Гнилые компании