Application.terminate

Delphi

01/04/2008

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!


Framosip

Framosip

Curtidas 0

Respostas

Macario

Macario

01/04/2008

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.


GOSTEI 0
Framosip

Framosip

01/04/2008

Mesmo com halt não funcionou.

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.



GOSTEI 0
POSTAR