PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

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:

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

Mario Inacio

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar