Fórum É possível isso? (RemoteDataModule) #342854

20/06/2007

0

Eu estou tentando modular uma aplicação que eu tenho onde eu passo toda os procedimentos para o RemoteDataModule e chamo através de funções.
Um dos procedimentos que eu estou tentando fazer é o seguinte:
Eu tenho uma SQLDataSet (DbExpress) ligado a um DataSetProvider dentro do meu RemoteDataModule com um consulta com vários parâmetros, eu criei um método onde eu passo os parâmetros para essa consulta que da um CLOSE passa os PARAMETROS e da um OPEN na mesma.
Na aplicação cliente eu passo os parâmetros para a minha aplicação servidora que irá passar os parâmetros para o meu SQLDataSet que irá disparar o método. Só que quando dou um OPEN dentro do RemoteDataModule aparece a seguinte mensagem :
´0x0005]: Operation Not Supported.´
Então a minha pergunta é a seguinte se é possível fazer isso que eu estou tentando? Se é como eu deveria fazer para não ocorrer o erro acima?


Vitor Alcantara

Vitor Alcantara

Responder

Posts

20/06/2007

Paullsoftware

também estou desenvolvendo uma aplicação MultCamadas com WebServices BDS2006 você poderia postar o código que está usando para que possamos melhor lhe ajudar!


Responder

Gostei + 0

20/06/2007

Vitor Alcantara

Aqui vai um código que se encontra na aplicação Servidora aonde eu quero que as aplicações clientes tenha acesso através das funções do AppServer.

{Consulta dos produtos da saída pelo código da venda}
function TClasseListSaida.DetalhaSaida(var CODSAIDA: OleVariant): OleVariant;
var
  e:Exception;
begin
  Try
    With SQLSaidaItensCodSaida do
    Begin
      Close;
      ParamByName(´CODSAI´).AsInteger := CODSAIDA;
      Open;//Trecho onde o erro é retornado
    end;
    result := SQLSaidaItensCodSaida.RecordCount;

  Except
    on e:Exception do
    begin
      result := -1;
      raise Exception.Create(e.Message );
    end;
  end;


end;


No exemplo acima eu tenho um SqlDataSet (que está ligado a um DataSetProvider) de consulta aos itens de uma saída pelo código da saída.
O que eu quero fazer é com que a aplicação cliente envie apenas o parametro ( no caso ´CODSAIDA´) e a aplicação servidora faça a consulta retornando apenas os dados para a aplicação cliente.

O ambiente na aplicação cliente é o seguinte eu tenho um ClientDataSet ligado a um TSharedConnection (Que por sua vês está conectado a um TSocketConnection) ligado ao DataSetProvider descrito acima.

Eu estou fazendo a chamada do método do seguinte modo.
begin
  CdsDetSaida.Close;//Fecho o dataSet
  if  SharedConnection1.AppServer.DetalhaSaida(1) > -1 then //Eu quero mostrar os itens da saída 1
  CdsDetSaida.Open; //Se tudo ocorreu bem eu abro o dataset
  
end;



Responder

Gostei + 0

20/06/2007

Paullsoftware

Só por curiosidade existem outros Metodos sendo executados nessa sua aplicação, digo pq eu uso webservice com servidor SOAP (estou começando agora) mais uma vez aconteceu comigo algo semelhante mais era pq eu não estava abrindo e fechando a conexão com o servidor de aplicação... ele tava ficando sobrecarregado e travando, depois que comecei a fechar as conexões resouveu meu problema!
n sei se muda muito em relação ao BSS, tenta chamar o metodo sem usar paramentros pra ver se ocorre o mesmo erro! :wink:


Responder

Gostei + 0

21/06/2007

Vitor Alcantara

Paulo tinha sim outros métodos.
Mais eu desisti de fazer do modo que eu estava fazendo (pois me compliquei todo), e deixei nos RemoteDataModules apenas os procedimentos que não retornavam registros, tipo excluir registro, algum insert .....
A parte que retorna os registros eu estou implementando em um conjunto de datamodules onde eu estou colocando toda as regras necessárias neles, separando-os por módulos (Cadastros clientes, PDV, Listagem saida, Listagem entradas.....) onde cada módulo é um datamodule onde eu estou tentando colocar toda a regra (comportamento dos edits, calculos ....) deixando tudo pronto. Assim (se de certo eu espero) quando pronto eu vou precisar apenas desenhar os forms e linkar os controles com os módulos.


Responder

Gostei + 0

27/06/2007

Brunolspp

Pessoal

no meu link de dopwnloads gratuitos, tem o exemplo do borcon 2006 que implementa como exemplo, uma miniatura de meus sistemas de missao critica e multuicamadas com funcoes remotas e tudo mais que é necessário.

Vale a pena olhar


Responder

Gostei + 0

27/06/2007

Vitor Alcantara

Muito obrigado Bruno vou dar uma examinada.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar