我的升级程序如下
var savefile: TMemoryStream; for i := 0 to files.Count - 1 do //得到需要升级的文件
begin
savefile := TMemoryStream.Create;
HTTPFiles.Get('www.cscsj.com'+ filestr[i], savefile); //
savefile.SaveToFile(g_path + filestr[i]); //
var savefile: TMemoryStream; for i := 0 to files.Count - 1 do //得到需要升级的文件
begin
savefile := TMemoryStream.Create;
HTTPFiles.Get('www.cscsj.com'+ filestr[i], savefile); //
savefile.SaveToFile(g_path + filestr[i]); //
begin
savefile := TMemoryStream.Create;
HTTPFiles.Get('www.cscsj.com'+ filestr[i], savefile); //
//让系统可以响应其他操作
Application.PeekMessage; //好象是这个,反正是P开头的属性,你自己打个 . 之后看看。
savefile.SaveToFile(g_path + filestr[i]); //
end;
开始下载前,StopIt := false;
然后,在停止按钮的事件里写:
StopIt := True;for i := 0 to files.Count - 1 do //得到需要升级的文件
begin
savefile := TMemoryStream.Create;
HTTPFiles.Get('www.cscsj.com'+ filestr[i], savefile); //
//让系统可以响应其他操作
Application.PostMessage; //好象是这个,反正是P开头的属性,你自己打个 . 之后看看。
savefile.SaveToFile(g_path + filestr[i]); //
if (StopIt) then
begin
//这里中断你的循环
//比如 exit for
end;
end;
或者加一个Timer
Timer代码:
OnTimer
IF btnStop.Clicked 或者变量 Stoped:=True Then 中断
Application.PostMessage;
改为
Application.ProcessMessages;