Multi Usuário no Interbase

Delphi

19/11/2003

Pessoal é o seguinte... tenho uma aplicação em dois terminais:

Cadastro de cliente... Suponho que em um terminal o cliente seja

DANILO

e o cara altere...

Aí no outro terminal o cara tenta apagar o DANILO... Preciso dar uma msg que o registro foi alterado... ao algo assim e posterior atualizar o registro...


Danilorsa

Danilorsa

Curtidas 0

Respostas

Thoor Cobain

Thoor Cobain

19/11/2003

Coloque no onclick do botão editar antes que ele de o table1.post, um table1.refresh assim:

table1.refresh;
table1.post;

Desta forma ele estará alterando o novo registro, isso seria sua dúvida?


GOSTEI 0
Danilorsa

Danilorsa

19/11/2003

nao é bem isso que eu quero...
é o seguinte:

em um terminal o cara alterou o meu nome: DANILO

Aí no outro terminal o cara tenta APAGAR o DANILO... Preciso dar uma msg que o registro foi alterado...



[quote:7a07714cba=´Thoor Cobain´]Coloque no onclick do botão editar antes que ele de o table1.post, um table1.refresh assim:

table1.refresh;
table1.post;

Desta forma ele estará alterando o novo registro, isso seria sua dúvida?[/quote:7a07714cba]


GOSTEI 0
Thoor Cobain

Thoor Cobain

19/11/2003

Vc sabe né q o certo é nunca dois usuarios abrirem o mesmo cadastro, pois se os dois incluirem um registro, apenas um vai conseguir salvar.

Mas em caso de o cadastro q estiver em sua tela for apagado. coloque o refresh antes do edit, do post, e do delete, assim se o registro estiver apagado ele ira atualizar e o delete cairá p/ o próximo registro.

Onde eu instalo o sistema, eu sempre aviso p/ cada tela q for abrir, verificar se um outro usuário não está usando.


GOSTEI 0
Thoor Cobain

Thoor Cobain

19/11/2003

Muita aconselha usar assim:
Mas eu já prefiro nem usar duas telas abertas juntas, mas isso pode resolver seu problema.


1º - Crie procedure para uso no evento OnActivate

procedure TForm1.FormRefresh(Sender: TObject);
begin
Table1.Refresh; // coloque todas as tabelas q possuir no form
end;


2º - No evento OnActivate do formulário acrescente a linha

Application.OnActivate := FormRefresh;


3º - No evento OnShow do formulário acrescente a linha

FormRefresh(Sender);


4º - No evento OnAfterPost de cada TTable acrescente as linhas

Table1.FlushBuffers;
FormRefresh(Self);


GOSTEI 0
POSTAR