Fórum Como rodar uma rotina em segundo plano? #380469
01/07/2010
0
Boa tarde,
preciso implementar uma rotina que rode em segundo plano em minha aplicação.
Provalmente seria mediante um timer que iniciaria uma Thread.
Seria algo assim:
Minha dúvidas:
- Está correta esta implementação?
- Como destruo a thread após sua execução?
- Em que local ativo novamente o timer?
Att
Mario
preciso implementar uma rotina que rode em segundo plano em minha aplicação.
Provalmente seria mediante um timer que iniciaria uma Thread.
Seria algo assim:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
threadDisparaRotina = class(TThread)
protected
procedure Execute; override;
end;
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := False;
threadDisparaRotina.Create(False);
end;
procedure threadDisparaRotina.Execute;
begin
// Executo aqui o que preciso
end;
Minha dúvidas:
- Está correta esta implementação?
- Como destruo a thread após sua execução?
- Em que local ativo novamente o timer?
Att
Mario
Mario Inacio
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)