2013-07-23 66 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接口。 –