CopyReaderToClientDataSet, Blob e a mensagem “Feature not implemented”
Se você já utilizou o método TDBXDataSetReader.CopyReaderToClientDataSet provavelmente já se deparou com a mensagem “Feature not implemented”, esta exception ocorre porque o método CopyReaderToClientDataSet não suporta a cópia de campos Blob de um DBXReader para um ClientDataSet.
A partir do Delphi XE2 Update 2 isso não é mais problema, o suporte a blob no método CopyReaderToClientDataSet foi implementando.
Para saber como utilizar o método CopyReaderToClientDataSet na prática leia o artigo “Copiando estrutura e dados de um DBXReader para ClientDataSet – DataSnap“
Bom dia Andreano!
Sei que esse não é o lugar para isso mas, como não tenho outro meio de comunicar-me com vc… estou usando seu blog!
Encontrei essa matéria e fiquei pensativo: http://delphi.about.com/od/objectpascalide/a/delphi-processmessages-dark-side.htm
Já que muitos dos seus exemplos utilizam o Application.ProcessMessages, achei que seria bom compartilhar a matéria com vc tb!
Boa tarde, Andreano!
Bem existe alguma forma de implementar-mos essa correção do TDBXDataSetReader.CopyReaderToClientDataSet para campos Blob no Delphi 2010, se possível como faríamos?
Oi Daniel,
Este novo recurso está disponível apenas no XE2.
Ola Andreano,
Estou com problema relacionado com a TDBXReader, mas precisamente com TDBXValue, que em um while next, quando o registro da tabela possui um campo com valor nulo ele traz o valor do campo do registro anterior, isso ocorre quando utilizo as property AsInt32, AsDouble, pelo que percebi esta faltando a tratativa se o valor do campo for nulo, fiz a correção atraves de HOOK substituindo a chamadas das mesmas.
Andriano,
Falando em Clientdataset, é normal quando se usa no datasnap os valores dos campos blob sumirem quando vai atualizar o registro sem alterar o campo blob?