Enfim tive de criar a minha própria.
Segue abaixo para quem mais precisar:
procedure ListaPropriedades( t : TObject; s : TStringList );
Var
Count, Size, I: Integer;
List : PPropList;
PropInfo : PPropInfo;
PropValue: string;
begin
Count := GetPropList( t.ClassInfo, tkAny, nil );
Size := Count * SizeOf(Pointer);
GetMem(List, Size);
try
Count := GetPropList( t.ClassInfo, tkAny, List);
for i := 0 to Pred( Count ) do
begin
PropInfo := List^[I];
if PropInfo^.PropType^.Kind = tkClass then
ListaPropriedades( TObject( GetOrdProp(t,PropInfo)), s )
else
begin
PropValue := VarToStr( GetPropValue( t, PropInfo^.Name));
s.Add( Format('%s: %s = %s', [PropInfo^.Name, PropInfo^.PropType^.Name, PropValue]));
end;
end;
finally
freeMem( list );
end;
end;
Exemplo de uso:
obj := TMinhaClasse.Create( Self );
MinhaStringLista := TStringList.Create;
ListaPropriedades( obj, MinhaStringLista );
Reginaldo
email: reginaldo@unisis.com.br

