ズーム動作で「算術演算の結果オーバーフローが発生しました」というエラーが発生
質問:
モデルビューでズームや移動を行うとTekla Structures が中断します。その時以下のエラーメッセージが表示されます。算術演算の結果オーバーフローが発生しました。場所:
"SystemWindows.Shell.WindowsChromeWorker._HandleNCHitTest(WMuMsg, IntPtr wParam, IntPtr lParam, Boolean& handled)"
"SystemWindows.Shell.WindowsChromeWorker._WndProc(IntPtr hwnd, Int32 msg, intPtr wParam, intPtr lParam, Boolean& handled)"
"System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wparam, IntPtr IParam, Boolean& handled)"
"MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wparam, IntPtr IParam, Boolean& handled)"
"MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)"
"System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)"
"System.Windows.Threading.ExcepuutionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchhandler)"
"System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)"
"MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, Intptr IParam)"
回答:
このエラーはロジテックマウス設定がSetPoint softwareでカスタマイズされた場合に発生します。原因がMicrosoft WPFの不備にあるためTekla Structures側で修正することができません。
このエラーはTekla Structures 2016以降で発生します。以前のTekla Structures のバージョンでは発生しません。
回避策はSetPoint softwareをアンインストールすることです。しかしどうしてもSetPoint softwareを使う場合は以下の方法で回避できる場合があります。
方法1:
Tekla Structures のウインドウを最大化しない。これは下図の右上の最大化ボタンを使わないことを意味します。
方法2:
ロジテックのSetPoint設定を開きSelect Button リストのいずれのボタンにもスクロール機能が割当てられていないことをチェックします。
オートスクロール、ユニバーサルスクロール、左スクロール、右スクロールなどのスクロール機能がTekla Structures を中断させます。
方法3:
もし左スクロールや右スクロールを他のアプリで使用したい場合は、
1. Mouse Button Settings タブで割り当てます。
2. Advanced Settings タブを開き、Tekla Structures を追加しそこでSelect Button リスト内のいずれのボタンにもスクロールが割当てられないようにします。
3. OK か Apply をクリックし内容を保存し SetPoint Settings ウインドウを閉じます。
Application-specific button settingsに関して詳細な説明は:
http://support.logicool.co.jp/ja_jp/article/42868