作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我曾经删除TZipForge表单上的组件,以便我可以使用它的事件处理程序。现在,我使用多个线程 worker 来提取一些 zip 文件,因此我创建 TZipForge 类的实例作为局部变量。如何在对象检查器中创建没有“事件”选项卡的事件处理程序?
最佳答案
要手动创建事件处理程序,您必须创建一个与目标事件的声明相匹配的过程,然后将该过程的地址分配给该类的事件,例如,如果您想要为 OnFileProgress
创建事件句柄如果发生这种情况,您必须在类中创建这样的过程。
procedure FileProgress(Sender: TObject; FileName: string;
Progress: Double; Operation: TZFProcessOperation;
ProgressPhase: TZFProgressPhase; var Cancel: Boolean);
检查此示例
procedure TForm1.FileProgress(Sender: TObject; FileName: string;
Progress: Double; Operation: TZFProcessOperation;
ProgressPhase: TZFProgressPhase; var Cancel: Boolean);
begin
//do your stuff here
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Archiver : TZipForge;
begin
Archiver := TZipForge.Create(nil);
try
Archiver.OnFileProgress:=FileProgress;//<- Here the event handler is assigned
Archiver.FileName := 'compressedfile.zip';
Archiver.OpenArchive(fmOpenRead);
try
Archiver.BaseDir := 'C\Foo';
Archiver.ExtractFiles('*.*');
finally
Archiver.CloseArchive();
end;
finally
Archiver.Free;
end;
end;
关于delphi - 在 ZipForge 中手动创建事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921535/
我遇到问题的存档都是通过将工作存档与不存在的存档合并而创建的,从而有效地将一个存档的内容复制到另一个存档中。这是我们合并过程的一部分。像这样... ZipDestination := TZipForg
我曾经删除TZipForge表单上的组件,以便我可以使用它的事件处理程序。现在,我使用多个线程 worker 来提取一些 zip 文件,因此我创建 TZipForge 类的实例作为局部变量。如何在对象
关于 Delphi 中的压缩有很多问题,无论如何这不是重复的。 我正在使用ZipForge用于我的应用程序中的压缩/解压缩功能。 目前我使用 ZipForge 的 2 个功能: 1) 压缩并解压缩 (
我是一名优秀的程序员,十分优秀!