Erro no DataSnap2009, servermethod não funciona no cliente
10/02/2010
0
Bom dia, estou com uma baita dor de cabeça ao migrar meu sistema bss para o DataSnap2009.
A maioria dos métodos funcionam sem problemas, mas tem uma função que não consigo rodar.
Essa função retorna o Sql do ZreadOnlyQuery associado ao DataSetProvider que aponto na aplicação cliente.
********************** NO SERVIDOR : ****************
function TServerCadastros.RetornaQryCommandText( p_objeto: string): string;
var nome:string; obj:Tobject;
begin
nome := p_objeto;
obj := ServerCadastros.FindComponent(nome);
if obj <> nil then
begin
if (obj is TDataSetProvider) then
result := Retira_where(TzReadOnlyquery( TdataSetProvider(Obj).dataset).sql.text)
end
else
result := '';
end;
OBS: meus dataset providers são criados em tempo de execução no oncreate do TDSServerModule.
********** NO CLIENTE ****************
var sm:TServerCadastrosClient;
begin
sm := TServerCadastrosClient(dm.ConexaoCliente.dbxconnection);
try
try ClientDataSEt1.data := sm.RetornaQryCommandText('DspServico_sus');
except
on exc:exception do
showmessage('RetornaQryCommandText error: '+exc.Message);
end;
finally
freeandnil(sm);
end;
******************
Me retorna o seguinte erro: Can Only init once(C:\Builds\TP\database\external\src\pas\d...\DBXCommon.pas,line 5734)
ALGUÉM SABE O QUE É ISSO???
Vórtice-ti
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)