InternetOpenUrlの返り値について

解決


ジュウザ  2005-08-05 22:26:22  No: 16887  IP: [192.*.*.*]

インターネット上のファイルをコピーするプログラムを作っています。
調べるとInternetOpenUrlで出来るようで組んだら確かに出来ました。
よくサンプルでもある基本系だと思います。

hService := InternetOpenUrl(hSession,'http://www.aaa.co.jp/test.dat', nil, 0, INTERNET_FLAG_RELOAD, 0);
  if Assigned( hService ) then begin
    (省略)

確かにこれでOKなのですがtest.datがない時でもhServiceに値が返ってきてしまいます。
ファイルがないので-1になりそうなのですが・・・
ファイルがあるかどうかはこれでは判断できないのでしょうか?

編集    削除
前準備だけ  2005-08-05 23:51:17  No: 16888  IP: [192.*.*.*]

InternetOpenUrl関数の機能は、
「アプリケーションが使用するWININETの初期化を行い、WININET呼び出し用のハンドルを作成する」
ことです。指定したURLが有効であるか(ファイルが存在するか)のチェックなどはしません。

編集    削除
ジュウザ  2005-08-06 02:17:48  No: 16889  IP: [192.*.*.*]

前準備だけさん、レスありがとうございます。

やはりそうですか。
ファイルが必ずあるようにして設計することにします。
ありがとうございました!

編集    削除