Como rodar uma rotina em segundo plano?
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
Curtidas 0