DBXReader para TClientDataSet - Firemonkey
Olá pessoal!
Estou tendo problemas com o método TDBXClientDataSetReader.CopyReaderToClientDataSet no Firemonkey.
- Delphi XE4
- Firebird 2.5.2
- Tabela PRODUTO com cerca de 40mil registros.
Método no servidor:
Método Cliente:
O erro
Estou usando o Trial para teste.
Se alguém tiver uma ideia do que poderia estar ocorrendo (se eu tivesse o fonte do Delphi poderia debugar, mas é trial).
Obrigado.
Estou tendo problemas com o método TDBXClientDataSetReader.CopyReaderToClientDataSet no Firemonkey.
- Delphi XE4
- Firebird 2.5.2
- Tabela PRODUTO com cerca de 40mil registros.
Método no servidor:
function TSMTeste.GetProdutos: TDBXReader;
var
FComm: TDBXCommand;
AReader : TDBXReader;
begin
if not cdsProduto.Active then
begin
SCContainer.SQLConnection.open;
FComm := SCContainer.SQLConnection.DBXConnection.CreateCommand;
FComm.CommandType := TDBXCommandTypes.DbxSQL;
FComm.Text := 'Select * From PRODUTO';
if not FComm.IsPrepared then
FComm.Prepare;
AReader := FComm.ExecuteQuery;
TDBXClientDataSetReader.CopyReaderToClientDataSet( AReader, cdsProduto);
cdsProduto.Open;
end;
Result := TDBXClientDataSetReader.Create(cdsProduto, False);
end;
Método Cliente:
var
smc: TSMTesteClient;
aReader: TDBXReader;
begin
SQLConnection.Open;
smc := TSMTesteClient.Create(SQLConnection.DBXConnection);
try
aReader := smc.GetProdutos;
try
if Assigned(aReader) then
TDBXClientDataSetReader.CopyReaderToClientDataSet(aReader, cdsProdutos); {AQUI OCORRE O ERRO -> Access Violation}
finally
FreeAndNil(aReader);
end;
cdsProdutos.Open;
finally
smc.Free;
end;
O erro
"Access Violation"
ocorre depois de algum tempo, o que dá a entender que poderia estar relacionado a algum tipo de campo ou valor.Estou usando o Trial para teste.
Se alguém tiver uma ideia do que poderia estar ocorrendo (se eu tivesse o fonte do Delphi poderia debugar, mas é trial).
Obrigado.
Everton Garcia
Curtidas 0
Respostas
Luiz Bhering
26/05/2013
Everton, boa noite !Mesmo erro comigo, você conseguiu descobrir o problema ?
Abraços !
Abraços !
GOSTEI 0
Everton Garcia
26/05/2013
Olá Luiz! Boa noite!
Na época o problema era caso pelo ambiente de desenvolvimento. Havia instalado o XE4 em um PC com Windows XP, quando os requisitos mínimos indicavam Windows 7.
Bastou eu trocar o sistema operacional que funcionou.
Abraços.
Na época o problema era caso pelo ambiente de desenvolvimento. Havia instalado o XE4 em um PC com Windows XP, quando os requisitos mínimos indicavam Windows 7.
Bastou eu trocar o sistema operacional que funcionou.
Abraços.
GOSTEI 0
Anderson Domingos
26/05/2013
Boa tarde, alguem ja trocou o dbexpress pelo Firedac, gostaria de saber como ficaria essa função function TSMTeste.GetProdutos: TDBXReader; no Firedac.
GOSTEI 0