Fórum Passar parametro para ClientDataSet de outra aplicação #286427
29/06/2005
0
Estou com uma duvida e gostaria de saber se é possivel fazer o que eu estou precisando. Eu tenho dois sistemas ultilizando o mesmo banco de dados Firebird 1.5 e estou usando o Delphi 7
Um dos sistemas é bem simples que eu chamo de monitor é um form com um dbgrid que fica monitorando uma tabela e a cada 3 segundos eu dou um refresh para atualizar o dbgrid.
O outro é um sistema onde eu tenho uma tela de cadastro de clientes bem completa com muitas informações do mesmo.
O que eu quero fazer é que ao selecionar uma linha do dbgrid do meu sistema monitor automaticamente no sistema de cadastro de cliente o cadastro seja deslocado para o cadastro do cliente que esta aparecendo no monitor.
Ou seja no meu ClientDataSet do monitor vou ter ID_CLIENTE ai eu quero fechar o ClientDataSet do outro sistema passar o ID_CLIENTE do monitor como parametro e abrir novamente o ClientDataSet do sistema de cadastro.
Ai vem a pergunta: Mas porque você nao coloca este monitor no seu sistema de cadastro? Ficaria bem mais simples de fazer.
Eu nao fasso assim porque eu ja fiz desta maneira e acontece que toda vez que o monitor é atualizado de 3 em 3 segundos o sistema da uma congelada e isso esta deixando o meu cliente furioso.
Desenvolvi meu sistema em 3 camadas trafegando XML.
Se alguem souber de algo que possa me ajudar.
valewss
Mmoreira
Curtir tópico
+ 0Posts
29/06/2005
Cabelo
Gostei + 0
29/06/2005
Mmoreira
vc disse que eu poderia usar Socket para resolver meu problema blz. Estes sockets que vc mensionou seria os componentes da paleta Internet do delphi ?? TcpCliente e TcpServer??
Gostei + 0
29/06/2005
Cabelo
se voc~e estiver usando delphi 7, você deve fazer a nstalação dos componentes na paleta Internet..
Tente pesquisar no fórum, que já foi respondido como fazer a instalação, pois não me lembro como faz..
Gostei + 0
29/06/2005
Mmoreira
Gostei + 0
29/06/2005
Cabelo
SocketCliet
SocketServer
não fazem parte da instalação padrão do delphi 7, mas existem . Portanto é necessário instalar a partir do seu disco rígido.
Gostei + 0
29/06/2005
Mmoreira
blz, instalei os sockets.
uma duvida qual porta para conexao vc me recomenda usar outra coisa meu sistema vai rodar em maquinas logadas em rede com dominio e tal sera que vou ter problemas com isto
estou no aguardo
Gostei + 0
29/06/2005
Jairroberto
Desculpe-me pela intromissão, mas pelo que entendi os dois softwares estão rodando na mesma máquina. Neste caso uma alternativa simplificada seria utilizar um arquivo texto para trocar informações entre os dois aplicativos utilizando um Timer no aplicativo de cadastro para identificar quando um novo registro é selecionado no Monitor.
Um abraço,
Jair
Gostei + 0
30/06/2005
Cabelo
Colega..
Use portas baixas.. assim não terá problemas nenhum com a verificação do domínio.. tente na porta 80, é a que eu uso aqui..
Boa sorte..
Jair, o problema em usar arquivos txt, é que se o usuário deletar ste arquivo, o sistema fica paralizado ou dá erro.. já tive problemas em criar uma aplicação assim, aí eu resolví o problema usando sockets...
A aplicação já roda a 5 meses, e não deu nenhum erro...
Gostei + 0
30/06/2005
Jairroberto
O mesmo pode ocorre no caso dele se o Server não estiver no ar, tudo depende de como a rotina de leitura e gravação for escrita, prevendo ou não a ausência do SocketServer, prevendo ou não a ausência do arquivo de troca de informações.
Um abraço,
Jair
Gostei + 0
30/06/2005
Cabelo
Não.. é bem diferente..
Se a aplicação monitor não estiver rodando (server), não será necessário fazer atualização nenhuma (client). se você tiver esse arquivo, irá utilizar processamento a toa, pois iria ficar verificando o arquivo sem nenhuma finalidade.. é muito melhor utilizar sockets nessa situação, pois independe do programado colocar ou não o (server) no ar, poderia ainda criar um bat, aí sim com um timer, e ficar verificando se o minitor(server) está no ar, se não estiver ele ativa a aplicação e tudo volta ao normal, bem diferente do arquivo de troca de informações.
Gostei + 0
30/06/2005
Jairroberto
Minha resposta se referia especificamente à sua colocação anterior:
Qualquer técnica utiliza tem seus prós e contras, dependendo exclusivamente de como é implementada. Continuo afirmando que as duas técnicas são viáveis sem apresentar risco de travamento ou performance, tudo isso em função de como a rotina for escrita.
Um abraço,
Jair
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)