unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMiThread = class(TThread)
protected
procedure Execute; override;
end;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FThread: TMiThread;
procedure OnThreadTerminate(Sender: TObject);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TMiThread.Execute;
begin
repeat
until Terminated;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
FThread.Terminate;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FThread := TMiThread.Create(True);
FThread.FreeOnTerminate := True;
FThread.OnTerminate := OnThreadTerminate;
FThread.Resume;
end;
procedure TForm1.OnThreadTerminate(Sender: TObject);
begin
Close;
end;
end.