DataSnap - erro Field XXX is of an unsupported type

Delphi

06/02/2013

SQL Server 2008
Delphi XE3

Função no server:
function TsmFunc.ChecaIDTabela ( nIdEmpresa : integer; sTabela : String; oCampos, oValores, oRetorno : OleVariant ) : OleVariant;

Quando chamo no cliente ele dá o seguinte erro:
Field XXX is of an unsupported type

Porém eu coloquei log na função e ela executa corretamente, analisando o Profiler do SQL inclusive monta e executa a SQL normalmente, mas ocorre o erro acima.

Alguma idéia?
Lorival Filho

Lorival Filho

Curtidas 0

Respostas

Douglas

Douglas

06/02/2013

Lorival,

troque o retorno desta função

e os campos do tipo OleVariant também para um tipo String.

Depois poste para saber se deu certo.
GOSTEI 0
Lorival Filho

Lorival Filho

06/02/2013

Douglas,

Fiz esse teste e funcionou! Porém não vai resolver meu problema, eu precisaria trabalhar com ARRAY para passar vários campos ( a ser utilizado no WHERE ) e vários campos para retorno ( a ser utilizado no SELECT ).

O estranho de tudo que tenho outra função que utiliza OleVariant e funciona perfeitamente.

Alguma sugestão???
GOSTEI 0
Lorival Filho

Lorival Filho

06/02/2013

Resolvido!!!

Mudei para o código o nome do ServerMethodName:

TsmFunc_ChecaIDTabela.ServerMethodName :=
TsmFunc.ChecaIDTabela
;

e deixei em branco no FORM.

mudando apenas isso não ocorreu mais o erro.

BUG do Delphi?
GOSTEI 0
Douglas

Douglas

06/02/2013

Acredito que sim meu caro,

mas ponha o nome por questão de prevenção.

Se o erro retornar novamente vamos pensar em outra forma

de corrigir.


Espero ter ajudado.


GOSTEI 0
Douglas

Douglas

06/02/2013

Acredito que sim meu caro,

mas ponha o nome por questão de prevenção.

Se o erro retornar novamente vamos pensar em outra forma

de corrigir.


Espero ter ajudado.


Obs: Houve um erro de interpretação minha. Você alterou diretamente no código passando

o nome do método para objeto, não há nenhum tipo de problema deixando em branco no Form.

GOSTEI 0
Lorival Filho

Lorival Filho

06/02/2013

pelo jeito não mesmo...mas o importante é que funcionou!!!
GOSTEI 0
Douglas

Douglas

06/02/2013

Que bom,

no que puder ajudar estou

por aqui !
GOSTEI 0
POSTAR