【发布时间】:2019-03-19 19:14:49
【问题描述】:
我使用 Delphi TZipMaster 创建和提取 ZIP 文件。它可以工作,但问题是,当出现问题时,它不会产生异常,它会显示来自组件本身的消息。
所以在下面的代码中:
try
zipmaster1.ZipFileName := 'C:\example.zip';
zipmaster1.FSpecArgs.Clear;
zipmaster1.fspecargs.Add('installl.exe');
zipmaster1.ExtrBaseDir := 'c:\';
// the line below will show a message 'This archive is not a valid ZIP archive';
// i want it to throw an exception instead, so i can catch it and handle in my app
zipmaster1.Extract;
except
// never will reach here
end;
【问题讨论】:
-
我自己不使用它,但 TZipMaster 没有
OnMessage事件(请参阅在线文档中的 TZMMessageEvent),可以让您拦截您引用的消息? IOW,我不确定捕获异常是否是解决您想要做的事情的正确方法。 -
他内置的zip库会不会更容易使用
-
documentation 表示 OnMessageEvent 是您捕获错误的地方(密码错误除外,它有自己的单独事件)。因此,如果您想引发异常,请使用 OnMessageEvent 捕获错误并引发异常。此外,该组件似乎包含源代码。你不能看那里吗?
-
那么您应该删除问题或发布答案,让人们知道问题已解决(以及如何解决)。 :-)
-
好的,我已经完成了。
标签: delphi delphi-2007