想了n天的变态问题(有关线程),急救!
我在做一个有关下载的东西时,如何才能取消,暂停与继续下载线程?
type
TMyDownLoad=class(TThread)
public
sName:string;
procedure Execute;override;
procedure Download;
procedure MsgWrong;
procedure MsgSuccess;
end;
procedure TMyDownLoad.Download;
var
UnitName,PathName:String;
MyStream:TMemoryStream;
IDHTTP: TIDHttp;
begin
sName:=fmMain.eName.Text;
IDHTTP:= TIDHTTP.Create(nil);
MyStream:=TMemoryStream.Create;
try
IdHTTP.Get(fmMain.eUrl.Text,MyStream);
except
Synchronize(MsgWrong);
MyStream.Free;
Exit;
end;
Synchronize(MsgSuccess);
MyStream.SaveToFile(fmMain.ePath.Text+fmMain.eName.Text);
MyStream.Free;
end;
procedure TMyDownLoad.Execute;
begin
inherited;
Download;
end;
procedure TMyDownload.MsgWrong;
begin
showmessage('下载出错!');
end;
procedure TMyDownload.MsgSuccess;
begin
showmessage(sName+'下载完成!');
end;
procedure TfmMain.btnDownloadClick(Sender: TObject);
begin
TMyDownLoad.Create(false);
end;