Fórum Se não for Thread, me ajudem !!!!!!! #187789
10/10/2003
0
Sendo que o meu problema é justamente esse, como posso cancelar e/ou manipular a transação através do clique do botão cancelar, pois ele fica desabilitado, ou seja, quando eu clico no primeiro botão ele fica um tempão para atualizar e o cancelar disponível. Mas o botão fica habilitado para eu clicar mas ele só executa depois que eu executar o clique do primeiro botão. O que eu faço ????? Me Ajudem ????
Faelcavalcanti
Curtir tópico
+ 0Posts
10/10/2003
Tand
Application.ProcessMessages()
Coloca este comando após cada inclussão dentro do teu primeiro processo em varios pontos que cada vez que ele executar vai processar o clique no outro botão.
Abraços.
Alexandre
Gostei + 0
10/10/2003
Faelcavalcanti
Se puderem me ajudar como implementar isso usando Thread agradeço!!!
Gostei + 0
10/10/2003
Tand
Voce vai ter que criar uma Classe herando do Thread
type
TMyThread = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
procedure UpdateTela();
public
end;
As instruções do seu botão voce vai ter que colocar na procedure Execute
Dentro da Execute voce vai ter que verificar o Status da propriedade Terminated para que quando voce clicar no outro botão e mandar o thread terminar ´MyThread.Terminate()´ Depois de terminado o Thread executa o evento OnThreadDone dentro dele voce coloca as instruções (tipo rollback ou commit da transação) voce pode incluir mais uma propriedade no seu thread para diferenciar o terminated normal do que voce cancela. Para ter apenas uma Function no OnThreadDone. Se quiser fazer algum update na tela usa uma procedure dentro do thread e chama ela através do comando ´Synchronize(UpdateTela);´. Espero que tenha ajudado. Se não entender pode falar.
Abraços.
Gostei + 0
10/10/2003
Faelcavalcanti
Origado, sem ofensas.
Gostei + 0
10/10/2003
Beppe
Ataliba
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)