3

ユーザーがコンボ ボックスから値を選択するダイアログを起動するマクロを作成しました。残念ながら、ダイアログ ボックスが表示され、1 ~ 20 秒間砂時計が表示されます。

役立つと思われる回避策がいくつかあります。

  1. すばやく CTRL-Alt-Del を押してから Escape を押します。
  2. タスク バーの回転するマクロ アニメーションをクリックします。
  3. タスクバーからダイアログを最小化してから最大化します。

しかし、これは本当に苦痛になりつつあります。これを引き起こす原因と、ハングを防ぐ方法を知っている人はいますか?

ダイアログを起動するために使用しているコードは

    Dim winptr As New WinWrapper()
    frm.ShowDialog(winptr)

'' This class is used to set the proper parent to any UI that you may display from within a macro.
Public Class WinWrapper
    Implements System.Windows.Forms.IWin32Window

    Overridable ReadOnly Property Handle() As System.IntPtr Implements System.Windows.Forms.IWin32Window.Handle
        Get
            Dim iptr As New System.IntPtr(DTE.MainWindow.HWnd)
            Return iptr
        End Get
    End Property
End Class
4

4 に答える 4

1

マクロが MsgBox 関数を呼び出すたびに、同様のハングアップが発生します。マクロを数回再実行すると、ハングアップが消えたように見えます (これは、バグが何であるかのヒントかもしれません) が、それも実行可能な解決策ではありません。

于 2011-08-04T21:19:57.590 に答える
0

何らかの理由で VS マクロ エディターを閉じると、問題はほとんど解決されます。まだ 2 ~ 3 秒の遅延が見られます。

于 2012-11-26T19:19:40.497 に答える
0

Visual Studio 2010 マクロは Winforms をサポートしていないと思いました。

http://msdn.microsoft.com/en-us/library/bxk3af4y.aspx

VS マクロは現在、Windows フォームをサポートしていません。

于 2011-07-08T05:51:45.443 に答える
0

SP1 をインストールすると、VS 2010 のハングアップや Visual Studio の「仮想メモリ不足エラー」の修正など、いくつかのバグ修正が行われます。

于 2011-05-29T05:53:08.457 に答える