Olá Eny,

2010/4/30 Eny Urias <enyur...@yahoo.com.br>:
> Olá!
>
> Estou começando a trabalhar com threads... Mas estou com uma dúvida... Tenho 
> um loop de atualização de dados... Mas como é um processo demorado, quero 
> deixar disponível um botão para o usuário encerrar o programa. Como faço para 
> que, ao pressionar o botão, o programa aguarde um aviso da thread dizendo que 
> está liberada e aí eu possa encerrar a thread e o programa? Já procurei em 
> tudo quanto é lugar e achei umas funções da API: PostThreadMessage e 
> WaitforSingleObject... mas não consegui aplica-las. Alguem sabe como eu posso 
> fazer isso?
>

Para pausar uma Thread, ao pressionar um botão, utilize o método
Suspend e logo após faça o questionamento ao usuário se é para
continuar ou não; para continuar utilize o método Resume.
Se for o inverso, ou seja, a Thread que vai avisar o programa que
acabou, utilize o evento da Thread chamado OnTerminate (você terá que
setar este evento após criar a Thread, utilizando um método do
formulário, por exemplo.

Procure mais sobre isso no próprio help do Delphi que tem tudo.


Marcos Douglas

Responder a