Problemas com TDBXDataSetReader.CopyReaderToClientDataSet Delphi 2010
Boa noite galera estou aqui novamente pedindo ajuda..
Está acontecendo comigo a seguinte situação, tenho um processo no meu sistema de baixa, que faz uma leitura no servidor DataSnap e me retorna um TDBXReader, onde este através do método TDBXDataSetReader.CopyReaderToClientDataSet seto para meu ClientDataSet na tela e faço .Open.
até ai tudo certo.. o que acontece e quanto estou nesta mesma tela e mando recarregar a consulta e refazer o processo o erro abaixo ocorre.
---------------------------Debugger Exception Notification---------------------------Project MeuProjeto.exe raised exception class EListError with message 'List index out of bounds (0)'.---------------------------
Já tentei fechar o Cds, dar FreeAndNil, criar denovo , usar outros métodos e nada..
Alguem já pegou algo assim ???Ahh se fecho a tela e acesso novamente carrega certinho a 1 vez e o erro ocorre denovo.
Aguardo sugestões.
Está acontecendo comigo a seguinte situação, tenho um processo no meu sistema de baixa, que faz uma leitura no servidor DataSnap e me retorna um TDBXReader, onde este através do método TDBXDataSetReader.CopyReaderToClientDataSet seto para meu ClientDataSet na tela e faço .Open.
if (cdsBx.Active) then begin cdsBx.EmptyDataSet; cdsBx.Close; end;
try proxy := TDSDupRecClient.Create(ConnServer.DBXConnection); Leitor:= proxy.GetDupRecsToBaixa; TDBXDataSetReader.CopyReaderToClientDataSet(Leitor,cdsBx); cdsBx.Open; if cdsBx.IsEmpty then ShowMessage('Não à duplicatas para baixa.'); finally if Assigned(Leitor) then FreeAndNil(Leitor); proxy.Free; end;
até ai tudo certo.. o que acontece e quanto estou nesta mesma tela e mando recarregar a consulta e refazer o processo o erro abaixo ocorre.
---------------------------Debugger Exception Notification---------------------------Project MeuProjeto.exe raised exception class EListError with message 'List index out of bounds (0)'.---------------------------
Já tentei fechar o Cds, dar FreeAndNil, criar denovo , usar outros métodos e nada..
Alguem já pegou algo assim ???Ahh se fecho a tela e acesso novamente carrega certinho a 1 vez e o erro ocorre denovo.
Aguardo sugestões.
Ederson Caldatto
Curtidas 0
Respostas
Marco Salles
02/09/2010
eu lembro vagamente que eu ja tive um problema com EmptyDataSet
Não lembro se tinha que ta aberto com OPen para dar o EmptyDataSet ou se tinha que ta fechado
para ai sim dar um EmptyDataSet ..
Mas olhando a logica do seu codigo , pq que vc não tira a instrução
if (cdsBx.Active) then
begin
cdsBx.EmptyDataSet;
cdsBx.Close;
end;
e coloque -a na hora de fechar a tela ... ????
Tb não entendo pq que tem que limpar os dados a cada open se o que carrega de o CdsBx fato é a instrução
TDBXDataSetReader.CopyReaderToClientDataSet(Leitor,cdsBx);
Outra .. O Método GetDupRecsToBaixa esta funcionando bem .. Ele não tem nada que possa dar esta mensagem
de erro 'List index out of bounds (0)'. ????
GOSTEI 0
Ederson Caldatto
02/09/2010
Eu tentei fazer isto deixar sem o EmptyDataSet..
a unica coisa que não fiz ao menos não lembro , foi deixa sem o close no cds (cds.Close)
vou tentar assim..
no resto está tudo certo o método tudo..
O erro List index out of bounds (0), pelo que posso notar e na hora de atributir os valores ao cds do Reader.
a unica coisa que não fiz ao menos não lembro , foi deixa sem o close no cds (cds.Close)
vou tentar assim..
no resto está tudo certo o método tudo..
O erro List index out of bounds (0), pelo que posso notar e na hora de atributir os valores ao cds do Reader.
GOSTEI 0