2012-01-14 14 views

答えて

9

InnoSetupでインターネットからファイルを取得する方法はいろいろあります。たとえば、InnoTools Downloaderのような外部ライブラリを使用したり、独自のライブラリを作成したり、Windows COMオブジェクトのいずれかを使用することができます。次の例では、ファイル受信にWinHttpRequest COMオブジェクトを使用しました。

このスクリプトのDownloadFile関数は、WinHTTP関数が例外を発生しない場合はTrueを返し、それ以外の場合はFalseを返します。 AURLパラメータで指定されたURLに対するHTTP GET要求の応答内容は、宣言されたAResponseパラメータに渡されます。 [ここ]

[Code] 
function DownloadFile(const AURL: string; var AResponse: string): Boolean; 
var 
    WinHttpRequest: Variant; 
begin 
    Result := True; 
    try 
    WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1'); 
    WinHttpRequest.Open('GET', AURL, False); 
    WinHttpRequest.Send; 
    AResponse := WinHttpRequest.ResponseText; 
    except 
    Result := False; 
    AResponse := GetExceptionMessage; 
    end; 
end; 

procedure InitializeWizard; 
var 
    S: string; 
begin 
    if DownloadFile('http://www.example.com/versioninfo.txt', S) then 
    MsgBox(S, mbInformation, MB_OK) 
    else 
    MsgBox(S, mbError, MB_OK) 
end; 
+0

TLamaの回答(https://stackoverflow.com/a/22356942/2128797)この時に展開されます。スクリプトは例外で実行を失敗した場合、AResponseパラメータは、例外エラーメッセージが含まれています。 –

関連する問題