WinInetで接続しようとすると停止する

解決


たかみちえ  URL  2003-01-19 21:04:16  No: 2641

下のようなソースで、FTPサイトに接続しようとしているんですけど、
  …
  addr:= mAddress;
  hHost := ConnectedURL(addr);
  mConnected := Assigned(hHost);
  …

function TWinFTP.ConnectedURL(HostAddr:String): HINTERNET;
begin
  Result := InternetConnect(hSession,PChar(HostAddr),mPort,
    PChar(mUserName),PChar(mPassword),INTERNET_SERVICE_FTP,
    IfThen(mPassive,INTERNET_FLAG_PASSIVE),0);
end.
(mPortにはINTERNET_DEFAULT_FTP_PORT、mAddressにはFTPサイトアドレス、mUserNameには、ユーザー名、mPasswordにはパスワード、mPassiveには、パッシブモードフラグ(Trueにしてテストしてます)、hSessionには、internetOpenの戻り値が入っています)

  接続自体はうまくいくんですけど、ZoneAlermを使用している場合、
"インターネットのアクセスを許可してもいいですか?"の問いに"はい"と答えると、
そのまま自作ソフトのほうが応答なしになってしまい、タスクマネージャからのプロセス終了すらできない状態になってしまいます。
(ZoneAlermを終了すると、終了できるようになります)
  デバッガをつかうとならないうえ、条件がそろってもとまらないことがあるようなので、確認のしようがなく困っています。
どうすればいいでしょうか?
(ちなみに、あらかじめZoneAlermの中で、自作ソフトの接続を常に許可しておくと、止まらなかったです、なのでたぶん、確認に答える時間が問題になっているんだと思いますけど…)

OS: WindowsXP Home
Delphi: 6 Personal
ZoneAlerm: バージョン3.1.291


にしの  2003-01-20 18:22:11  No: 2642

ShowMessageをはさんで、どこで止まるか確認はしました?
APIの実行で止まっているようなら、ZoneAlermの不具合か、WinInet自体の不具合だと思います。
うちはOutpost Firewallですが、止まったことなかったですよ。
# 今は環境が違うので確かめられません


たかみちえ  URL  2003-01-21 00:09:20  No: 2643

ConnnectedURL部分をShowMessageではさむと、
とたんに何も起らなくなってしまいました。
なので、Sleepで接続前二百ミリ秒待ってみたら、問題なかったようです。

  にしのさん、いつもありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加