インターネット上のファイルをコピーするプログラムを作っています。
調べると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になりそうなのですが・・・
ファイルがあるかどうかはこれでは判断できないのでしょうか?
InternetOpenUrl関数の機能は、
「アプリケーションが使用するWININETの初期化を行い、WININET呼び出し用のハンドルを作成する」
ことです。指定したURLが有効であるか(ファイルが存在するか)のチェックなどはしません。
前準備だけさん、レスありがとうございます。
やはりそうですか。
ファイルが必ずあるようにして設計することにします。
ありがとうございました!
ツイート | ![]() |