Slm arkadaşlar

Aşağıda kodunu yazdığım thread kodundaki "procedure TForm1.Button5Click(Sender: TObject);" kısmında yazdığım Kanalı oldur komutu calışmıyor,ne yapmalıyım?

//delphi 7 kodu
uses
...

type
TBirDonguKanali = class(TThread)
protected
procedure ProgressGuncelle;
procedure Execute; override;
end;


var
Form1: TForm1;
kanal: TBirDonguKanali;

implementation



procedure TBirDonguKanali.Execute;
var
i: Integer;
begin
for i := 0 to 500000 do
begin
//Sleep(100);
Synchronize(ProgressGuncelle);

end;
end;

procedure TBirDonguKanali.ProgressGuncelle;
begin
Form1.ProgressBar1.StepIt;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
kanal.Resume;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
kanal.Terminate; //burası calışmıyor
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
kanal := TBirDonguKanali.Create(True);
kanal.OnTerminate := KanalDurdu;
end;

procedure TForm1.KanalDurdu(Sender: TObject);
begin
ShowMessage('Kanal sonlandı...');
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
kanal.Suspend; //durdur
end;

end.
__________________