VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/08/24(Wed) 10:20
投稿者
Eメール
URL
タイトルRe^7: Inetを利用したDIRについて

ご助言、ありがとうございます。
提示して頂いたソースを試した所、一回目のCDで移動するタイミングで
GetChunk部分にて"最後の要求が実行中です"エラーが発生しました。

おそらくcase分の条件にicResponseReceivedが含まれているからだと思います。
(icResponseCompletedが戻るまで、次の処理要求は実行できない為)

>StateChangedイベントで、どういうコードを書いているか見えないんですが、
現在の状況はこのような感じです。

Private Sub Command1_Click()
    Dim strData As String
    
    With Inet1
      .URL = "ftp://test"
        .AccessType = icFTP
    End With

    Inet1.Execute , "CD webTEST"
    '待機処理
    Do While Inet1.StillExecuting
        DoEvents
    Loop
    
    Inet1.Execute , "PUT C:\TEST\test.tif test.tif"
    Do While Inet1.StillExecuting
        DoEvents
    Loop
    
    Inet1.Execute , " CLOSE"
    Inet1.Execute , " QUIT"

    With Inet1
      .URL = "ftp://test"
        .AccessType = icFTP
    End With

  'とりあえず両方はあきらめて、サイズだけでも取得しようとしています。
    Inet1.Execute , " SIZE test.tif"
    Do While Inet1.StillExecuting = True
        DoEvents
    Loop
  
End Sub


Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData As Variant ' データを入れる変数。
Dim strData As String: strData = ""
Dim bDone As Boolean: bDone = False

Select Case State
    Case icResponseCompleted
   ' 最初のチャンクを取得します。
        vtData = Inet1.GetChunk(1024, icString)
        DoEvents

        Do While Not bDone
            DoEvents
            strData = strData & vtData
            DoEvents
            ' 次のチャンクを取得します。
            vtData = Inet1.GetChunk(1024, icString)
            If Len(vtData) = 0 Then
                bDone = True
            End If
        Loop
        'ここで値取得してログに出力

    Case icError
    'エラー処理
End Select
End Sub


現在、少し進展(?)して、サイズが取得できる事が
"可能な時も"発生するようになりました^−^;

上記コマンドボタンを実行すると、もちろんサイズは取得出来ないのですが
続けてもう一度実行すると正常に取得できます。

つまり実行する事に、取れたり取れなかったりといった具合です。

最初はアップロードしたファイルだから、認識できないのかと疑いましたが
既存のファイルをSIZEで取得した場合も同様の現象が発生することから
アップロードファイル事態に問題があるわけではなさそうです。

ためしに、ファイルサイズに値が戻ってくるまでループしてみましたが
予想通りというかなんというか無限ループに陥りましたorz

引き続き調査を行いますので、
何かお気づきの点などございましたら、
ご助言の程、よろしくお願い致します。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -