![]() |
|
|
Регистрация | << Правила форума >> | 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. |