現在inetを使用してサーバーのファイル一覧を取得しようとしています。
上記の操作を作成したボタンに記述しクリックすると正常に取得できることは確認しました。(Inet1_StateChanged内でGetChunkを使用してファイル名を取得しています。)
そこでフォームを非表示にした状態で実行したいのですがうまく取得できません。
フォームを非表示で実行したい理由としてexeファイルにしてタスクスケジュールに登録し自動起動→自動終了を行いたい為です。
フォームを非表示にて実行する方法としては以下の手法で行っています。
Private Sub Form_Activate()
Call Command1_Click ''注、この中最後の処理にunload meを行っています
End Sub
またInet1_StateChanged内でGetChunkを使用してファイル名を取得しています。
フォームを非表示にした場合は
Do While Inet1.StillExecuting = True
DoEvents
Loop
が効かないのでしょうか?
何か回避策があればご教授ください。
追伸
説明不足であれば具体的なソースを提示いたします。よろしくお願い致します。
Unload Meはフォームを非表示にするのでなく、フォームを削除します。
非表示にしたい場合は、Me.Visible = False をお使いください。
ねろさん
ありがとうございます。
Unload Me自体は一番最後(処理が完了)に記述しています。
フォームが非表示の時だけうまくftpでファイル名が取得できません。
ファイル名を取得する前に処理が終わってしまうのかと思っていますが
Do While Inet1.StillExecuting = True
DoEvents
Loop
を記述しているのですがほかに何か取得完了まで待つ処理を追加しなければ
ならないのでしょうか?
フォームの表示、非表示とInetの動作とは何の関係もありません。
プログラムの構成が判りませんのでなんとも言えませんが、
>Do While Inet1.StillExecuting = True
> DoEvents
>Loop
が正しい場所に書かれていると仮定すると、Inet1がビジーに
なる前に、プログラムがEndに到達しているのではないでしょうか。
Do While Inet1.StillExecuting = Trueの所で
ブレークをかけてステップで実行してみてください。