投稿日 | : 2005/08/22(Mon) 17:30 |
投稿者 | : ガッ |
Eメール | : |
URL | : |
タイトル | : Re^4: Inetを利用したDIRについて |
> Starfishさんのアドバイスを参考に
> GetChunk部分などをStateChangedに移したりしたのですが
> やはり動作しませんでした。
>
> Inet上でFTP接続し、
> DIRのみを行う場合は正常に動作します。
> (この時、最終的には戻り値12が返って来ていました)
>
> もちろんSIZEのみを行う場合も正常に動作します。
>
> しかし、上記二つのロジックを一度に行うと、
> 直前のロジックでは正常に12が返ってきているので、
> "最後の要求が実行中"のエラーは発生しないのですが
> やはり動作しません。
> (DIR⇒SIZEの場合、DIRは取れるがSIZEが取れない)
> (SIZE⇒DIRの場合、SIZEは取れるがDIRで12が戻らず無限ループ)
どこで無限ループしているのでしょうか…?
StateChangedイベントで、
"コマンドが完了したら正常に12が帰ってくる"という性質を利用して、
.StillExecutingを監視し続けるのを止めてみては?
…もっとするならば、1回目のコマンド呼び出しだけStateChangedイベントの外でやって、
2回目以降のコマンド呼び出しはStateChangedイベントの中で行うとか…
> 何かオブジェクトの解放等が必要なのでしょうか?
Inetオブジェクトを再作成するのですか…
最終手段にしておきましょう。
> 私の方でも引き続き調査しますが、
> どんな些細なヒントでも構いませんので
> ご助言の程、よろしくお願い致します。
Inetはあまりいい話を聞きませんねぇ…止めちゃいます?(ぇ
あいにく手元に実験できる環境がないので本当につまらないことしか書けませんが、
・icResponseCompletedの時にすべてのデータを受け取っているか?
→すべてのデータを受け取らないで、.StillExecuteメンバがFalseに変化するかどうかも確かめると
いいか
も。
そしたら、すべてのデータを受け取って、変化するかどうかを見る。
…まぁ、別にしなくてもいいですけどねぇ…
長文失礼しました。