Fórum atualizar em tempo real na rede....... #350055
04/12/2007
0
por exemplo to aqui usando em rede o sistema, ai eu altero um dado qualquer e quando clico em gravar ele altera legal tanto na tela de consulta quanto na de cadastro , até pq eu fiz o comando close e open das telas, mais na estação por exemplo ele não atualiza se estiver com a tela aberta, tem que fechar e abrir a tela pra atualizar, sabe como devo proceder pra resolver isso?
Tchucky
Curtir tópico
+ 0Posts
06/12/2007
Sistemald
acho que não escapatoria, você teria que dar um refresh de vez em quando na tela, usar um objeto Timer, mas tome cuidado para não gerar muito trafego e processamento.
Gostei + 0
06/12/2007
Tchucky
Gostei + 0
07/12/2007
Sistemald
mas, porque você está tão preocupado em atualizar o registro na tela do usuário?
veja bem, meu sistema, o usuário digita o nome ou outro atributo para localizar, ou seja mostra poucos registro no dbgrid, a chance de um daqueles ali esta desatualizado eu considero pequeno, ainda mais que ali só mostra alguns dados mais importante, agora se ele for visualizar ou editar, aí mostra todos os dados, mas aí a chance de algum ter alterar ele neste momento é muito pequena.
por isso não vejo necessidade de ficar atualizando.
eu só trabalho com a transações em modo Readcommited;
Gostei + 0
07/12/2007
Sistemald
use events do Firebird
CREATE TRIGGER emp_up1 FOR employee ACTIVE AFTER UPDATE POSITION 0 AS BEGIN POST_EVENT ´employee_atualizado´; END
Depois você captura com MDOEvents ou Ibevents. o código acima será disparado pelo banco quando atualizar a tabela employee, enviando a mensagem, employee_atualizado, então no sistema você verifica se a tabela employee está aberta, se tiver da um refresh.
Gostei + 0
08/12/2007
Tchucky
meu sistema tem quase 150 tabelas e tenho 6 usuario em rede por isso q preciso atualizar...
da forma q esta ele so atualiza se o cara fechar e abrir o form dinovo...
ai ele perde tempo em ficar fazendo...
estou usando o firebird e componentes Zeos...
Gostei + 0
09/12/2007
Sistemald
você vai ter que criar uma trigger para cada tabela, e depois capturar esta mensagem, eu nunca usei Zeos, procure se tem um componente para captura de eventos, lembre-se de cada tabela colocar uma mensagem difente, depois na leitura da mensagem, você ja sabe em tabela dar o refresh.
Gostei + 0
19/12/2007
Vitor Alcantara
PS: É para um sistema de caixa onde os vendedores fazem as vendas e o caixa tem uma tela que vai atualizando de 5 em 5 segundos (Isso que eu queria mudar), onde recebe o número do pedido, vendedor.... .
Gostei + 0
19/12/2007
Pestana_
flw.
Gostei + 0
19/12/2007
Pestana_
flw.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)