2017-04-21 77 views
0

如果URL不存在或没有互联网连接,如何自动跳过下载......? 在此先感谢&欢呼声...... ;-)Inno下载插件:如果不存在,跳过下载...?

[Code] 
procedure InitializeWizard(); 
begin 
    idpAddFile('http://127.0.0.1/test1.zip', ExpandConstant('{tmp}\test1.zip')); 
    idpDownloadAfter(wpReady); 
end; 

回答

1

参考的创新科技下载插件documentation我认为最好的方式是尝试检查URL /文件是否存在,如果它不把它添加到下载列表。根据文档,idpGetFileSize获取url中给出的文件的大小,如果能够无误地计算文件大小,则返回true。试试这个...

[Code] 
procedure InitializeWizard(); 
var 
    size: Int64; 
begin 
    if idpGetFileSize('http://127.0.0.1/test1.zip', size) then 
     idpAddFile('http://127.0.0.1/test1.zip', ExpandConstant('{tmp}\test1.zip')); 
    idpDownloadAfter(wpReady); 
end; 
+0

运行完美...谢谢这么多...!问候... ;-) – alfreire

+0

不客气;) – Sam

-1

展望下载插件documentation我发现这个选项也工作:

[Code] 
 
procedure InitializeWizard(); 
 
begin 
 
    idpSetOption('ErrorDialog', 'none'); 
 
    idpAddFile('http://127.0.0.1/test1.zip', ExpandConstant('{tmp}\test1.zip')); 
 
    idpDownloadAfter(wpReady); 
 
end;

+0

很酷。使用最适合您的用例的那个;) – Sam

+0

您将以这种方式隐藏任何错误。看起来对我来说是一个糟糕的解决方案。 @山姆的解决方案是正确的。 –