Fórum DBXReader para TClientDataSet - Firemonkey #444009
26/05/2013
0
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
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
Curtir tópico
+ 0Posts
27/10/2014
Luiz Bhering
Abraços !
Gostei + 0
27/10/2014
Everton Garcia
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
20/04/2015
Anderson Domingos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)