2013-07-23 68 views
2

我试图从下载使用Delphi XE2互联网文件,但没有任何反应。 这里是我的代码:UrlDownloadToFile在Delphi XE2中不起作用?

uses URLMon; 

... 

procedure TForm1.Button1Click(Sender: TObject); 
Const 
    SourceFile = 'http://www.google.com/intl/de/images/home_title.gif'; 
    DestFile = 'c:\download\home_title.gif'; 
begin 
    UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil); 
end; 

所以我的问题是:当我点击按钮,程序不下载该文件。 我试图下载到另一个目录,我试图下载其他文件,但没有。 我无法让它工作。

我到底做错了什么?

请帮帮我!

回答

2

你的代码工作正常。问题很可能是本地问题。也许你的网络连接有问题。或者目录'c:\download'不存在。

探讨当地的问题,您需要做的一份说明功能UrlDownloadToFile返回的值。这是一个HRESULTS_OK表示成功。其他值表示失败。一旦你知道错误代码是什么,你应该能够追踪你的问题。

话虽如此,UrlDownloadToFile似乎并没有做有意义的返回错误代码的一个好工作。例如,如果你让DestFile与不存在的文件夹的路径,则函数仍然返回S_OK

+0

[The documentation](http://msdn.microsoft.com/zh-cn/library/ms775123.aspx)的状态为:“即使无法创建文件并取消下载,URLDownloadToFile也会返回S_OK。如果szFileName参数包含一个文件路径,请在调用URLDownloadToFile之前确保目标目录存在。为了更好地控制下载及其进度,建议使用IBindStatusCallback接口。 –