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

投稿日: 2005/08/12(Fri) 09:32
投稿者
Eメール
URL
タイトルInetを利用したDIRについて

はじめまして。
タイトルの件についてご助言を下さい。

【やりたい事】
 FTPサイトへ接続し、ディレクトリ移動を行った後に、
 ローカルにあるファイルをアップロードする。
 正常にアップロードされたか確認するために、DIRでファイル名と
 SIZEでファイルサイズを取得して、ローカルファイルと比較。
 一致すれば正常にアップロード完了と判断。

【起きている現象】
 ・DIR部分でStateChangedに12が戻ってこない為
  待機ループで無限ループが発生してしまう。

【参考情報】
 ・ただし、DIRコマンド箇所にて一度ブレイクを挟むと
  正常に動作する。

 ・SIZE部分はStateChangedに12は戻ってくるが、
  正常にサイズを取得できない。

  ただし、これもSIZEコマンド箇所にてブレイクを挟むと
  正常にサイズを取得する事が可能。

 ・アップロード処理やディレクトリ移動処理など行わずに
  DIRとSIZEだけを実行した場合は、特にブレイクを打たずとも
  正常に動作。

【ソース】
Private Sub Command1_Click()
Dim strData As String

    With Inet1
        .URL = "ftp://test"
        .AccessType = icFTP
        
        '仮想ディレクトリに移動
        .Execute , "CD webTEST"
        Do While .StillExecuting = True
            DoEvents
        Loop

        'ファイルのアップロード
        .Execute , "PUT c:\TEST\test.tif test.tif"
        Do While .StillExecuting = True
            DoEvents
        Loop
        
    .Execute , "DIR"      ←ここで一旦ブレイクすると正常に動作
        Do While .StillExecuting
            DoEvents
        Loop
        strData = .GetChunk(1024, icString)
        
        .Execute , "SIZE test.tif" ←ここで一旦ブレイクすると正常に動作
        Do While .StillExecuting
            DoEvents
        Loop
        strData = .GetChunk(1024, icString)
        
        '接続を抜ける
        .Execute , "close"
        .Execute , "quit"      
    End With
End Sub


長くなりまして、誠に申し訳ありませんが
ご助言頂けますよう、よろしくお願い致します。


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

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

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