Consegui usando o GetObjectProp.

Tive que fazer assim:
MinhaStream.LoadFromStream(TMemoryStream(GetObjectProp(MeuObjetoLocal,
NomePropriedade,TMemoryStream)));

Se eu não fizer o TypeCast com o TMemoryStream não compila, porque o retorno
de GetObjectProp é um TObject.

Obrigado pela ajuda!

Abraços,

Edelson.


2009/5/29 Edelson Regis de Lima <edre...@gmail.com>

> Então João, eu dei uma olhada na classe TTypeKink, e ela não suporta Stream
>
> TTypeKind = (tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat,
> tkString, tkSet, tkClass, tkMethod, tkWChar, tkLString, tkWString,
> tkVariant, tkArray, tkRecord, tkInterface, tkInt64, tkDynArray);
>
> Eu até consigo acessar as minhas propriedades da maneira que voce falou,
> mas quando é Stream ele não retorna corretamente.
> Tipo, os dados que estou utilizando tem mais de 70 mil bytes, e quando
> recupero isso usando VPropInfo^.PropType^.Kind ele me retorna apenas alguns
> bytes...
>
> Quando é string, float, integer... está vindo direito, mas quando é Stream
> ele não consegue recuperar corretamente.
>
> Edelson.
>
>
>
>
> 2009/5/28 Joao Morais <jcmorai...@gmail.com>
>
>>
>>
>> 2009/5/28 Joao Morais <jcmorai...@gmail.com <jcmoraisjr%40gmail.com>>:
>>
>> >  VPropInfo := GetPropInfo(Owner, Metadata.Name);
>>
>> GetPropInfo(SeuObjeto, 'NomeDaPropriedade');
>>
>> Joao Morais
>>  
>>
>
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a