Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];
ВнизКак получить список свойств класса Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c