Quiero que se repita (infinitamente) en mi aplicación un Thread con un intervalo 20 segundos. Sólo se repite la primera vez.
Codigo:
Código Delphi
[-]unit Gestor1;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Menus, ExtCtrls, Gauges, DB, StdCtrls,
Buttons, ToolWin, ComCtrls, DBCtrls, Registry, AuxFun, ImgList,FileCtrl,
FMTBcd, SqlExpr, DBClient, Windows, SqlTimSt, xmldom, Provider, Xmlxform,
ExportDS, SME2Cell, SME2XML, XMLIntf, msxmldom, XMLDoc, ShellAPI, DBXpress,
ActiveX, Variants;
type
TThread6 = class (TThread)
private
OwnerHandle: HWND;
procedure RecepAutoVeriOferta;
protected
procedure Execute; override;
published
constructor Create(Owner: TForm);
end;
TPrincipal = class(TForm)
MainMenu1: TMainMenu;
Clientes1: TMenuItem;
Clientes: TMenuItem;
Piezas: TMenuItem;
..
..
procedure TPrincipal.Ejecuta;
var
i, j, n : integer;
Cod, aux, Accesos : String;
fRec : TSearchRec;
begin
LeeDatosEntorno;
Thread6 := TThread6.Create(self);
..
..
end;
Constructor TThread6.Create(Owner: TForm);
begin
inherited Create(false);
OwnerHandle := Owner.Handle;
Priority := tpNormal;
FreeOnTerminate := false;
suspended := false;
end;
destructor TThread6.Destroy;
begin
inherited Destroy;
end;
procedure TThread6.Execute;
begin
repeat
sleep(20000);
CoInitialize(nil);
RecepAutoVeriOferta;
CoUninitialize;
until terminated;
end;
Quitando el procedure destroy también me repite una vez. ¿a qué se debe? me estoy volviendo loco.
saludos