2

長い操作を実行する VB6 アプリがあります。たとえば、データベースへの保存に 1 分以上かかるとします。

この保存が続く間、ウィンドウをロック (無効) し、砂時計カーソルを表示します。

しかし、次のコードはこれを行いません:

Private Sub Update_Click()
    Screen.MousePointer = vbHourglass
    Me.MousePointer = vbHourglass
    Me.Enabled = False
    'This takes more than minute:
    Update
    Me.MousePointer = vbDefault
    Screen.MousePointer = vbDefault
    Me.Enabled = True
End Sub

つまり、フォームはまだ有効で、砂時計カーソルはありません。フォームで何かをしようとすると、ハングします。

アプリをユーザーフレンドリーにし、ボタンを押した後にアプリが何かを行うことをユーザーに知らせる方法はありますか?

残念ながらVB6しか使えないのでバックグラウンドワーカーは使えません。

: Win7 コンピューターでは、同じコードがカーソルの砂時計を作成するため、ユーザーはアプリが何かを実行していることがわかります。XP システムでは、アプリがハングするだけで、カーソルには何も起こりません。

4

2 に答える 2