PARA OS EXPERTS EM DELPHI - TEM Q SER FERA
Olá amigos,
Tenho um sistema de atendimento desenvolvido em Delphi 7 e Firebird 1.5.
Neste sistema tenho uma tela de Atendimento (que todos os usuários tem aberta), com os atendimentos cadastrados, sendo estes exibidos num dbgrid. Quando o usuário não está executando nenhuma função de inserção ou edição, tenho um componente DBRefresh que vasi atualizando os dados (atualiza todos os Datasets) do Dbgrid em um determinado intervalo de tempo (no meu caso 7 segundos) para quando houverem alterações de usuários na rede, os registros sejam atualizados automaticamente.
Eu preciso substituir este método por outro, que seria:
- no momento que um dos usuários fizer uma alteração, atualizar nos outros usuários automaticamente, sem utilizar este refresh em intervalo de tempo. Alguém sabe fazer isso ????
Por favor me ajudem
obrigado
Diogo
diogoalles@hotmail.com
Tenho um sistema de atendimento desenvolvido em Delphi 7 e Firebird 1.5.
Neste sistema tenho uma tela de Atendimento (que todos os usuários tem aberta), com os atendimentos cadastrados, sendo estes exibidos num dbgrid. Quando o usuário não está executando nenhuma função de inserção ou edição, tenho um componente DBRefresh que vasi atualizando os dados (atualiza todos os Datasets) do Dbgrid em um determinado intervalo de tempo (no meu caso 7 segundos) para quando houverem alterações de usuários na rede, os registros sejam atualizados automaticamente.
Eu preciso substituir este método por outro, que seria:
- no momento que um dos usuários fizer uma alteração, atualizar nos outros usuários automaticamente, sem utilizar este refresh em intervalo de tempo. Alguém sabe fazer isso ????
Por favor me ajudem
obrigado
Diogo
diogoalles@hotmail.com
Diogoalles
Curtidas 0
Respostas
Thaisandrade
25/06/2003
diogoalles, você usar sockets e quando uma estação alterar vc envia mensagem para as outras, quando a mensagem chegar vc roda o seu refresh, ao invés de rodá-lo de tempos em tempos.
GOSTEI 0
Japa
25/06/2003
hehehehe nawn entendi nada =( sou novo no delphi hehehehe :lol:
GOSTEI 0
Crmonari
25/06/2003
uma dica pra ti
se vc ñ estiver usando socket vc pode fazer o seguinte
ter um ini central com uma secao como exemplo
[atualizamaquinas]
TELA_ONDE_VOCE_QUER_ATUALIZAR_DADOS=sim
......
quando na leitura de x em x segundos vc encontrar sim ou nao entao cada máquina que fez a leitura daria um refresh automatico em seus dados
uma sugestao vc pode pegar seu componente DBRefreh e criar uma entrada para ele ler este arquivo ini central e este seu componente tambem poderia atualizar as informações dele.
e isso ai
carlosmonari@terra.com.br :lol:
se vc ñ estiver usando socket vc pode fazer o seguinte
ter um ini central com uma secao como exemplo
[atualizamaquinas]
TELA_ONDE_VOCE_QUER_ATUALIZAR_DADOS=sim
......
quando na leitura de x em x segundos vc encontrar sim ou nao entao cada máquina que fez a leitura daria um refresh automatico em seus dados
uma sugestao vc pode pegar seu componente DBRefreh e criar uma entrada para ele ler este arquivo ini central e este seu componente tambem poderia atualizar as informações dele.
e isso ai
carlosmonari@terra.com.br :lol:
GOSTEI 0
Fabricio R.
25/06/2003
:D Tenho o mesmo problema que voce e gostaria de ajudar.
se voce criar um evento no afterpost na tabela do banco
AS
BEGIN
POST_EVENT ´Atualizar´;
END
Isso irá disparar um evento;
Se voce usar um IbEvents da paleta interbase, e no evento OnEventAlert coloque:
If EventName==´Atualiza´ then
// aqui voce atualiza o seu dbrefresh
Responda se funcionar.
se voce criar um evento no afterpost na tabela do banco
AS
BEGIN
POST_EVENT ´Atualizar´;
END
Isso irá disparar um evento;
Se voce usar um IbEvents da paleta interbase, e no evento OnEventAlert coloque:
If EventName==´Atualiza´ then
// aqui voce atualiza o seu dbrefresh
Responda se funcionar.
GOSTEI 0
Fabricio R.
25/06/2003
PS: Ainda nao testei.
GOSTEI 0