[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/02/14(Tue) 12:06
投稿者名:アキラ
Eメール:
URL :
タイトル:
INETを使用したPUTについて
どなたか助けてください。
現在、INETコントロールを使用したWinPC→WinPCへのアップロード(PUT)を
作成しているのですが、処理が全て完了した後(End Subも抜けた後)に
3〜4秒ほど何かを考え込んでいるようで、プロジェクトの解放が遅いんです。
アップロードは正常にできています。
どうすればよいかアドバイスを頂けませんでしょうか?
環境:WinXP-SP2、VB6.0-SP5

---<ソース>----------------------------------------
Option Explicit

Public gstrflg  As String

Private Sub Form_Activate()

    Dim strwork         As String

    gstrflg = "0"

    With Inet

        .URL = "xxx.xxx.xxx.xxx"
        .UserName = "administrator"
        .Password = "admin"
        .Protocol = icFTP
        .RequestTimeout = "10"

        strwork = "PUT C:\tmp\test.txt temp\test123.txt"

        '接続&転送
        .Execute , strwork
        'PUT処理が終わるまで待機
        Do While gstrflg = "0"
            DoEvents
        Loop
        If gstrflg = "1" Then
            MsgBox ("エラー発生")
        Else
            MsgBox ("正常終了")
        End If

        gstrflg = "0"

        '切断
        .Execute , "CLOSE"
        Do While gstrflg = "0"
            DoEvents
        Loop
        If gstrflg = "3" Then
            MsgBox ("CLOSE-OK")
        Else
            MsgBox ("???")
        End If

        gstrflg = "0"

        '切断
        .Execute , "QUIT"
        Do While gstrflg = "0"
            DoEvents
        Loop
        If gstrflg = "3" Then
            MsgBox ("QUIT-OK")
        Else
            MsgBox ("???")
        End If

        .Cancel

    End With

    Unload Me

End Sub

Private Sub Inet_StateChanged(ByVal State As Integer)
    If State = icError Then
        gstrflg = "1"
    ElseIf State = icResponseCompleted Then
        gstrflg = "2"
    ElseIf State = icDisconnected Then
        gstrflg = "3"
    End If
End Sub
---<ソース>----------------------------------------

投稿時間:2006/02/15(Wed) 18:26
投稿者名:アキラ
Eメール:
URL :
タイトル:
Re: INETを使用したPUTについて
こんばんは。
昨日、初投稿させていただいたアキラといいます。
どなたからも返信がないのは、私の質問の仕方が悪いorルールを守っていないからなのでしょうか?
いろいろ調べているのですが、未だに解決できていません・・
アドバイスお願いします!


> どなたか助けてください。
> 現在、INETコントロールを使用したWinPC→WinPCへのアップロード(PUT)を
> 作成しているのですが、処理が全て完了した後(End Subも抜けた後)に
> 3〜4秒ほど何かを考え込んでいるようで、プロジェクトの解放が遅いんです。
> アップロードは正常にできています。
> どうすればよいかアドバイスを頂けませんでしょうか?
> 環境:WinXP-SP2、VB6.0-SP5
>
> ---<ソース>----------------------------------------
> Option Explicit
>
> Public gstrflg  As String
>
> Private Sub Form_Activate()
>
>     Dim strwork         As String
>
>     gstrflg = "0"
>
>     With Inet
>
>         .URL = "xxx.xxx.xxx.xxx"
>         .UserName = "administrator"
>         .Password = "admin"
>         .Protocol = icFTP
>         .RequestTimeout = "10"
>
>         strwork = "PUT C:\tmp\test.txt temp\test123.txt"
>
>         '接続&転送
>         .Execute , strwork
>         'PUT処理が終わるまで待機
>         Do While gstrflg = "0"
>             DoEvents
>         Loop
>         If gstrflg = "1" Then
>             MsgBox ("エラー発生")
>         Else
>             MsgBox ("正常終了")
>         End If
>
>         gstrflg = "0"
>
>         '切断
>         .Execute , "CLOSE"
>         Do While gstrflg = "0"
>             DoEvents
>         Loop
>         If gstrflg = "3" Then
>             MsgBox ("CLOSE-OK")
>         Else
>             MsgBox ("???")
>         End If
>
>         gstrflg = "0"
>
>         '切断
>         .Execute , "QUIT"
>         Do While gstrflg = "0"
>             DoEvents
>         Loop
>         If gstrflg = "3" Then
>             MsgBox ("QUIT-OK")
>         Else
>             MsgBox ("???")
>         End If
>
>         .Cancel
>
>     End With
>
>     Unload Me
>
> End Sub
>
> Private Sub Inet_StateChanged(ByVal State As Integer)
>     If State = icError Then
>         gstrflg = "1"
>     ElseIf State = icResponseCompleted Then
>         gstrflg = "2"
>     ElseIf State = icDisconnected Then
>         gstrflg = "3"
>     End If
> End Sub
> ---<ソース>----------------------------------------

投稿時間:2006/02/16(Thu) 14:29
投稿者名:那岐
Eメール:
URL :
タイトル:
Re^2: INETを使用したPUTについて
こんにちは。那岐です。

QueryUnloadイベントで何かやっているとか
Unloadイベントで何かやっているとか
そのへんの確認は済んでらっしゃるんでしょうか?
コントロール数やForm数が多いとUnloadに時間がかかる場合もあります。
全ての環境で同じ動作なのか、その辺の確認もやってみましたか?

#>どなたからも返信がないのは、私の質問の仕方が悪いorルールを守って
#>いないからなのでしょうか?
#引用させていただいたような発言があると回答を急かされているようで
#私的には非常に解答したくありません。ルールの確認は御自分で。
#そういう人間もいるという事です。
#それと、全文引用は避けましょう。無意味に長くなりますし。

投稿時間:2006/02/16(Thu) 16:31
投稿者名:那岐
Eメール:
URL :
タイトル:
Re^3: INETを使用したPUTについて
No.5826の投稿だけではあんまりだと思ったので
過去使った事もあるしその時の覚書を少し調べてみました。

Cancelメソッドの処理に時間がかかっているのでは?
StillExecutingプロパティを参照してビジー状態かどうかを
確認してみてはいかがでしょう。