Hola amigos !
He implementado en mi formulario principal un Thread de la siguiente forma :
Código Delphi
[-]type
TMainform = class(TForm)
....
TMyThread = class(TThread)
protected
procedure Execute; override;
public
end;
var
Mainform : TMainform;
implementation
uses ....
{$R *.nfm}
var
MyThread : TMyThread;
procedure TMainform.Button1Click(Sender: TObject);
begin
MyThread := TMyThread.Create(False);
MyThread.FreeOnTerminate := True;
end;
procedure TMainform.Button2Click(Sender: TObject);
begin
MyThread.Terminate;
end;
procedure TMyThread.Execute;
begin
repeat
....
Sleep(600000);
until Terminated;
end;
Lo que me pasa es que al intentar terminar mi aplicación, no se cierra la aplicación.
Si lo hago desde el propio Delphi, compilo y ejecuto la áplicación, al intentar terminarla se me queda el Delphi en modo 'de ejecución' y tengo que pulsar el botón Reset para terminar la aplicación.
Si ejecuto la aplicación desde Windows, parece que se cierra, pero algo queda abierto ya que si intento recompilar, el propio Delphi me dice que el EXE de la aplicación está en uso y no se puede escribir.
Qué estoy haciendo mal ?
Gracias y saludos a todos.
