一个线程内的delphi zip文件(使用TZipMaster)

时间:2010-07-28 11:19:27

标签: delphi multithreading zip

我想使用TZipMaster组件在线程中压缩文件。 问题是,当我从IDE运行程序时,我收到错误 (来自windows)

  

“该计划不再响应。    - >在线搜索解决方案    - >关闭程序“

(或者说,我不知道英文中的确切信息......“

但是,ZIP文件是成功创建的。 Delphi 2009的最后一个调试器输出是:

  

卸载模块:DelZIp179.dll

当我直接运行.exe时,似乎工作正常,我没有收到此错误。 但是我不确定我是否可以忽略这个错误,或者最好修复它?

谢谢你的回复!

1 个答案:

答案 0 :(得分:2)

您收到此错误是因为您的应用程序正在主线程中执行一些繁重的处理(压缩)并且不处理Windows消息。

最好解决这个问题 - 你应该在压缩时处理Windows消息(如果TZipMaster支持)或者将zipping移动到后台线程中。

更多信息: 我检查了TZipMaster源代码,并且有一个OnTick事件会定期调用。

编写一个OnTick事件处理程序并从内部调用Application.ProcessMessages。这应该可以解决你的问题。