投稿日 | : 2003/03/18(Tue) 02:43 |
投稿者 | : 丸太 |
Eメール | : |
URL | : |
タイトル | : Re: ftpでサーバにファイルをPUT中に実行時エラー |
> Win98環境。VB6.0で開発しています。
>
> Inetを使用して、サーバにファイルをftp転送したいのですが、
> 「実行時エラー 35764 最後の要求が実行中です」となってしまいます。
>
> 処理的には、サーバに転送したいファイルのディレクトリ、ファイル名を記述した
> ファイルリストを読み込んで、記述されて数だけ、ファイルをサーバにftp転送する
> というものです。転送するファイルが1つであれば、エラーにはならないのですが、
> 2つ以上転送、または、1度転送した後、画面を落とさず再度転送すると、エラーに
> なってしまいます。要求が実行時になるのは、ファイルをPUTするところです。
> 前の処理が終わるまで待機するようにしても、うまく動きません。
> 分かりにくい質問かもしれませんが、どなたか教えて頂けませんか。
>
> ソースは以下の通りです。
> ------------------------------------------------------
> Inet1.Execute , "PUT....(省略)"
>
> Do
> DoEvents
> Loop Until InetState
>
> 'ファイルリストをオープンし、ファイルパス、ファイル名を格納
> Open strNewlist For Input As #2
> Do
> Input #2, strDir, strFname '各項目に分けて読み込み
> DoEvents
>
> 'ftpでPUTする時に元ファイル名に番号を採番する
> Inet1.Execute , "PUT " & strDir & strSvdir & strSvfiles & strFname
> ↑<この文で実行時エラーになります>
>
> Do While Inet1.StillExecuting
> DoEvents ' 前の処理が終わるまで待機
> Loop
>
> Loop Until EOF(2)
> Close #2
見た感じでは、1行目の PUT の実行の後に
Do While Inet1.StillExecuting 〜 のループを行っていないようですが、
これが問題ではありませんか?
もしそうでないとすると、これだけでは私には原因はつかめませんが、
別の攻め方として、
PUT する時に
On Error Goto でトラップして
35764 エラー だったら Do While Inet1.StillExecuting 〜をもう一度
やって Resume してみるとか。