Matou a pau, eheh. Vou guardar essa dica no caderninho. Abração
2009/7/1 Edelson Regis de Lima <edre...@ig.com.br>: > > > Fala Guionardo, tranquilo? > > Então, eu acabei resolvendo esse problema com um TClientDataSet mesmo, ao > invés de um TList. Ficou muito mais simples. > Eu uso um campo do tipo blob (TBlobField) para armazenar outros > TClientDataSets já convertidos em TMemoryStream. > Ou seja, cada registro desse TClientDataSet contem outro TClientDataSet. E > eu ainda posso criar outros campos para servir como passagem de parametros. > E no final eu dou um TClientDataSet.SaveToStream, e obtenho a minha stream > com todos os TClientDataSets embutidos. > Ficou bem mais simples dessa maneira. > > Mas valew pela dica assim mesmo! > > Abraços, > > Edelson. > > 2009/6/30 Guionardo Furlan <guiona...@gmail.com> > >> >> >> Minha sugestão. >> Mantenha a estrutura do TList de ClientDataSets. >> Crie um TMemoryStream (MS) >> Faça um loop para varrer o TList. >> Para cada item: >> - vc escreve um LongInt (N) (representando o tamanho dos dados [Data, >> acho que é essa propriedade que guarda os dados do CDS] do CDS >> respectivo) no MS >> - escreve o conteúdo do Data do CDS no MS >> >> Quando for ler, é só varrer o MS obtendo o tamanho dos dados pelo >> primeiro longint (N) e ler N bytes para a propriedade Data do CDS. Se >> ainda houver dados no MS, repita o procedimento, criando novo CDS. >> >> São quase 11 horas da noite, eheh. Deu pra entender a minha idéia? >> >> 2009/6/23 Edelson Regis de Lima <edre...@ig.com.br <edregis%40ig.com.br>>: >> >> > >> > >> > Boa tarde! >> > >> > Pesssoal, alguem sabe se tem como gerar um TMemoryStream a partir de um >> > TList? >> > O TStringList até tem um SaveToStream, porém não salva os objetos >> contidos >> > na lista, somente strings. >> > >> > Basicamente é o seguinte... preciso transportar vários ClientDataSets, e >> a >> > melhor maneira é transformar em Stream primeiro. >> > Só que eu não quero transportar um a um, eu quero "empacotar" todos os >> > ClientDataSets numa Stream só. >> > >> > Aí pensei em colocar todos os ClientDataSets em um TList (ou algo do >> > genero), e transformar esse TList em Stream. Só que o TList não tem o >> > SaveToStream. >> > Alguém sabe? >> > Ou se alguem tiver alguma outra sugestão de fazer esse empacotamento, >> > sem >> > usar Lists, também será bem vinda... >> > >> > Até mais, >> > >> > Edelson. >> > >> > [As partes desta mensagem que não continham texto foram removidas] >> > >> > >> >> -- >> Timeo hominem unius libri >> Cogito ergo sum - Carpe diem >> >> []s >> Guionardo Furlan >> http://guionardo.blogspot.com >> http://www.guionardofurlan.com.br >> >> > > [As partes desta mensagem que não continham texto foram removidas] > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com http://www.guionardofurlan.com.br