![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Уважаемые, имею траблы с GetPropList. Функция честно возвращает список
property, но когда property имеет тип record, то функция не включает её в возвращаемый список. Код:
program enumerator;
{$APPTYPE CONSOLE}
uses
TypInfo,
Classes,
SysUtils;
type
tRec = record
x,y : Single;
end ;
tBaseClass = class ( TPersistent )
end ;
tChild = class( tBaseClass )
private
Fbeta: Boolean;
Falpha: string;
Flazha: tRec;
published
property alpha : string read Falpha write Falpha;
property beta : Boolean read Fbeta write Fbeta;
property lazha : tRec read Flazha write Flazha;
end ;
var
List: PPropList;
Count, i : integer;
begin
with tChild.Create do
begin
GetMem(List, 3);
Count := GetPropList(ClassInfo, tkAny, List);
for i := 0 to count -1 do
with List[ I ]^ do
writeln( format( '%s %s (%s)', [ Name, PropType^.Name, getenumname( typeinfo(TTypeKind ), Integer(PropType^.Kind ) ) ] ) );
FreeMem( List );
Free;
end;
Readln;
end.Вывод: Код:
alpha String (tkLString) beta Boolean (tkEnumeration) Можно ли с этим как нибудь побороться? Последний раз редактировалось front242, 14.12.2012 в 06:39. |