質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Q&A

解決済

1回答

1497閲覧

応答なしのメッセージを非表示にする方法

退会済みユーザー

退会済みユーザー

総合スコア0

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

0グッド

1クリップ

投稿2020/09/28 07:29

VB6でZipファイルを移動させるプログラムを作成しています。
処理自体は
fsIni.MoveFile 移動元ファイル,移動先ファイル

なのですが、ネットワーク越しに行うため処理に時間がかかり、
”応答なし”のメッセージが出てしまいます。
移動そのものはできています。

DoEventsを入れても同様に応答なしメッセージが出ます。
どなたか解決策を教えてください。

お手数をおかけいたしますがよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tosi

2020/09/30 00:21 編集

通常の方法では難しいのではないでしょうか。 DoEventsではシステムへ制御を移しますが、次の処理が直ぐに開始される場合にはHOLD状態が継続される為「HOLD=応答なし」となります。 VB6ではDelegate型が使えない為に、AddressOffを使っての別プロセス起動は難しです。 敢えて、別プロセスを使う場合には、このプログラムを別プログラムから起動して、APIで終了を監視する方法や、同様にAPIのSendMessageで終了状態を送信受信する方法があります。 参考URL:http://nonsoft.la.coocan.jp/SoftSample/SampleRecvMsg.html 質問欄にDoEventsを入れたと有りますので、処理自体は1バッチ処理を複数回繰返し行っているのでしょうか。 1バッチの処理時間が短い様であれば、Timerからこの処理を数秒間隔で起動すると、その時間だけは入力可能となる為、HOLDから解放されます。 Timer1.Interval = 1000 sub Timer1_Timer()  Timer1.Enabled = False  call バッチ処理  DoEvents  Timer1.Enabled = True end sub この様な感じです。 APIを利用する場合には難易度か高くなりす。また、APIで終了を監視する場合にもTimerで数秒間隔で確認処理を動かす様にしないとHOLDは無くなりません。
退会済みユーザー

退会済みユーザー

2020/10/01 06:01

お答えいただきありがとうございます。 一度Timerを入れて試してみようと思います。 場合によってはAPIを利用することも視野に入れてみます。
guest

回答1

0

ベストアンサー

原因が繰り返し処理を行っている箇所とは別にあったため、
DisableProcessWindowsGhosting で回避することにしました。

投稿2020/11/18 00:27

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問