Fórum Application.terminate #356332
01/04/2008
0
Amigos,
Boa tarde.
Possuo um form , que executa uma thread. Porém o comando Application.terminate, não esta sendo respeitado ao final desta thread. Gostaria de saber como fazer para finalizar a aplicação ao terminar a thread.
abraços!
Boa tarde.
Possuo um form , que executa uma thread. Porém o comando Application.terminate, não esta sendo respeitado ao final desta thread. Gostaria de saber como fazer para finalizar a aplicação ao terminar a thread.
abraços!
Framosip
Curtir tópico
+ 0
Responder
Posts
01/04/2008
Macario
Olá.
Application.terminate só é executado quando toda ´fila´ da aplicação for finalizada.
Caso queira ´matar´ a aplicação use [b:4c1a99d63c]Halt[/b:4c1a99d63c], pois não espera o termino da fila.
Application.terminate só é executado quando toda ´fila´ da aplicação for finalizada.
Caso queira ´matar´ a aplicação use [b:4c1a99d63c]Halt[/b:4c1a99d63c], pois não espera o termino da fila.
Responder
Gostei + 0
01/04/2008
Framosip
Mesmo com halt não funcionou.
a minha thread esta assim
após chamar o executavel externo quero fechar a aplicação, porém não fecha e aparece o seguinte erro.
[img:c5a9c582d8]http://www.dirad.fiocruz.br/enquetes/festa2007/erro1.gif[/img:c5a9c582d8]
a minha thread esta assim
procedure TAtu.Execute;
var url: string;
begin
try
if FrmFuncs.VerInt = true then
begin
FrmLogado.barra.Visible := true;
url := FrmLogado.web.Get(´http://www.infatica.com/clientes/scaffini/versao.php´);
if AppVr <> url then
begin
FrmLogado.barra.Visible := false;
if Application.MessageBox(´Atualização disponível, deseja atualizar agora?´, ´Atualização´, MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1 + MB_TOPMOST) = IDYES Then
begin
winexec(PCHAR(ExtractFilePath(Application.ExeName) + ´atualizacao.exe´),sw_shownormal);
halt;
end;
end
else
begin
FrmLogado.barra.Visible := false;
Application.MessageBox(´Nenhuma atualização disponível no momento´,´Atualizações´,64);
Exit;
end;
end;
except
FrmLogado.barra.Visible := false;
Application.MessageBox(´Erro ao verificar atualizações´,´Atualização´,16);
exit;
end;
end;
após chamar o executavel externo quero fechar a aplicação, porém não fecha e aparece o seguinte erro.
[img:c5a9c582d8]http://www.dirad.fiocruz.br/enquetes/festa2007/erro1.gif[/img:c5a9c582d8]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)