有关在线程中使用ziptv的问题

unilion 2005-09-05 04:03:07
请问为什么我在普通winform中调用DataZip.Execute(文件名)可以生成压缩文件,但在线程中调用却不能生成呢?

unit U_Zip;

interface

uses ztvZip,SysUtils;

type
TDataZip = class(TObject)
private
{ Private declarations }
public
function Execute(FileName: string): string;
end;

var
DataZip: TDataZip;

implementation

function TDataZip.Execute(FileName: string): string;
var
zip: TZip;
Zipname: string;
i: Integer;
begin
Zipname := ExtractFilePath(FileName) + Copy(ExtractFileName(FileName),
0, Pos('.', ExtractFileName(FileName)) - 1) + '.zip';
zip := TZip.Create(nil);
zip.ArchiveFile:=Zipname;
zip.RecurseDirs:=False;
zip.ExcludeSpec.Clear();
zip.FileSpec.Clear();
zip.FileSpec.Add(FileName);
i := 0;
try
i := zip.Compress;
except
//
end;
zip.Free;
if i = 1 then
begin
if FileExists(FileName) then
DeleteFile(FileName);
result := Zipname;
end
else
result := FileName;
end;

end.
...全文
100 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
unilion 2005-09-12
  • 打赏
  • 举报
回复
自己顶一下

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧