1)if contador = valor then Syncronize(ChamarForm); 2)While not Terminated do begin ... if Condicao then Break; //Encerra a execução da Thread end;
3) Não entendi, que estado thread tu quer pegar? Magnun Oliveira escreveu: > > > > Ola a todos. > > Tenho um programa q executa umas 15 threads p/ efetuar um processamento. > Coloquei o processamento no metodo Execute da thread. Funciona ok. > > Em determinado momento, preciso chamar um form, de dentro dessa thread. > No execute: > > if contador = valor then > ChamarForm; > > procedure TThread.ChamarForm; > begin > > form1.caption := IntToStr(ThreadID); > // Chama o Formulario > Form3 := TForm3.Create(nil); > try > Form3.ShowModal; > finally > Form3.Free; > Form3 := nil; > end; > > end; > > Ele mostra a id da thread no caption do form, porem nao chama o Form3 ... > o que estou fazendo de errado? > > outras duvidas ... como encerrar a thread de dentro do onExecute? > como recuperar o estado de uma thread? > > [As partes desta mensagem que não continham texto foram removidas] > >