[リストへもどる]
一括表示

投稿時間:2003/03/17(Mon) 23:51
投稿者名:kaori
URL :
タイトル:
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

投稿時間: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 してみるとか。

投稿時間:2003/03/18(Tue) 23:20
投稿者名:kaori
URL :
タイトル:
Re^2: ftpでサーバにファイルをPUT中に実行時エラー
> 見た感じでは、1行目の PUT の実行の後に
> Do While Inet1.StillExecuting 〜 のループを行っていないようですが、
> これが問題ではありませんか?
>

ご返信ありがとうございます。

Do While Inet1.StillExecuting 〜 のループを行ったところエラーは
出なくなりました。

Do
DoEvents
Loop Until InetState

で前処理が終了するまで待てると思っていたのですが、無理だった
みたいです。

助かりました。感謝感謝。