Senhores, bom dia!
Estou tentando utilizar o evento onDataRequest do DataSetProvider e 
ClientDataSet mas como sou novato em aplicações N-tier, creio que esteja 
fazendo algo de errado.
Solicito, dentro das possibilidades de cada um, um auxílio quando ao referido 
procedimento, e me apontem o erro para que possa corrigi-lo.
Abaixo, o erro que dá quando executo a rotina, o procedimento no onDataRequest 
do DataSetProvider e a chamada utilizando o evento DataRequest do ClientDataSet.
Estou utilizando Delphi 2009 e já adicionei a unit Variants nos respectivos 
DataModules e RemoteDataModule.

Agradeço desde já a atenção dispensada.

Fraterno abraço a todos,
Carlos

Erro que ocorre quando executo a pesquisa:
`Remote error: Unsupported variant type: 000C'

Chamada no onDataRequest do DataSetProvider
function TsmConsulta.dspLocServidorDataRequest(Sender: TObject;
  Input: OleVariant): OleVariant;
const
  mSql = 'select (s.rg) as ''R.G.'', (s.nome) as ''Nome Completo'', '+
    '(s.codCargo) as ''Cód. Cargo'', (s.ender) as ''Lotação'' '+
    'from ((servidor s inner join cargo c on s.codCargo = c.codCargo) '+
    'left join unidade u on s.ender = u.ender) where(0=0)';
begin
  if (Input[0] <> '') then
    sdsLocServidor.CommandText :=
      mSql+ ' and s.rg like ''' + QuotedStr(Input[0]) + '''';
  if (Input[1] <> '') then
    sdsLocServidor.CommandText :=
      mSql+ ' and s.nome like ''' + QuotedStr(Input[1]) + '''';
  if (Input[2] <> '%') then
    sdsLocServidor.CommandText :=
      mSql+ ' and s.codCargo = ''' + QuotedStr(Input[2]) + '''';
  if (Input[3] <> '%') then
    sdsLocServidor.CommandText :=
      mSql+ ' and s.ender = ''' + QuotedStr(Input[3]) +'''';
end;

Chamada no lado Cliente:
procedure TfLocServidor.aLocServExecute(Sender: TObject);
begin
  try
    dmConsulta.cdsLocServidor.Close;
    dmConsulta.cdsLocServidor.DataRequest(VarArrayOf([mkeRg.Text,
      eNome.Text, dblcCargo.Text, dblcConUnidade.Text]));
    dmConsulta.cdsLocServidor.Open;
  except
    Application.MessageBox('Ocorreu um erro ao tentar efetuar a consulta 
solicitada.'
      + #13#10 + 'Tente novamente, e se o problema persistir, efetue' + #13#10
      + 'contato com o Administrador do Sistema.', 'Ocorreu um erro.', MB_OK +
      MB_ICONSTOP);
  end;


Responder a