djfarinha Postado Agosto 22, 2014 Denunciar Share Postado Agosto 22, 2014 Bom dia. Eu tenho a seguinte THREAD : unit u_thread; interface uses Classes, Windows, Messages, SysUtils, Variants, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ComCtrls,DateUtils,Contnrs, SyncObjs; type Tfuncoes = class(TThread) protected procedure execute();override; private public procedure parar(); end; implementation uses u_dm, u_inventario; procedure Tfuncoes.parar(); begin end; procedure Tfuncoes.execute(); begin Inherited; Priority := tpLower; try f_inventario.SQLPro.Close; f_inventario.SQLPro.Open; except abort; end; end; end. Em um determinado momento preciso parar está THREAD, porem ela ainda está tentado executar esse comando "f_inventario.SQLPro.Open;" , já tentei THREAD.TERMINATE; mas não funciona. alguém sabe uma maneira de para com o "f_inventario.SQLPro.Open;" . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 22, 2014 Denunciar Share Postado Agosto 22, 2014 exemplo: Finalizar uma Thread procedure TFrmTelaIni.Button1Click(Sender: TObject); function TerminateThread(hThread: THandle; dwExitCode: DWORD); var sMSN : TShowMSN; begin sMSN := TShowMsn.Create(True); sMSN.FreeOnTerminate := True; if Terminated then TerminateThread(sMSN.Handle, 0); sMSN.Suspend; sMSN.Resume; end; ======================================= OBS: No help do delphi pesquise sobre Thread veja tambem esse link http://www.activedelphi.com.br/forum/viewtopic.php?t=45084&sid=3b69e53369aca2b1c94713df4e81ea0b abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 djfarinha Postado Agosto 27, 2014 Autor Denunciar Share Postado Agosto 27, 2014 Tambem não deu certo. a THREAD só encerrada depois do f_inventario.SQLPro.Open; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 27, 2014 Denunciar Share Postado Agosto 27, 2014 A THREAD é usada para executar instruções ou comandos em segundo plano então experimente dar um open na tabela trazendo no maximo 500 registros ... ai a thread vai ser muito eficiente abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 djfarinha Postado Agosto 29, 2014 Autor Denunciar Share Postado Agosto 29, 2014 Foi isso mesmo que eu fiz, por enquanto foi uma solução rápida mas vou continuar a procurar uma solução, se eu achar posto Aqui. Vlw Jhonas pela atenção Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
djfarinha
Bom dia.
Eu tenho a seguinte THREAD :
Em um determinado momento preciso parar está THREAD, porem ela ainda está tentado executar esse comando "f_inventario.SQLPro.Open;" , já tentei
THREAD.TERMINATE; mas não funciona.
alguém sabe uma maneira de para com o "f_inventario.SQLPro.Open;" .
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.