VC++ で IEを操作して HTMLの情報を得るコードを 書いております
'System.Windows.Documents.Run' is not a Visual or Visual3D'Exception
という例外が発生し 困っております
拡張機能が影響してる可能性があるとか メッセージも出ました
違うコンパイラ 使った方が いいのでしょうか?
Windows 7
Visual Studio 2017
訂正:エラーではなく 例外でした
[2018/05/18 14:37:27 Warning] NuGet によってインストールされたテスト拡張機能が見つかりません。NuGet サービスは利用できません。テスト アダプター拡張機能がないため、テストが見つからない可能性があります。
[2018/05/18 14:37:27 Informational] ------ プレイリストの読み込みを開始しました ------
[2018/05/18 14:37:27 Informational] ========== プレイリストの読み込みが完了しました (0:00:00.0020001) ==========
[2018/05/18 14:37:29 Informational] ------ テストの探索が開始されました ------
[2018/05/18 14:37:29 Warning] NuGet によってインストールされたテスト拡張機能が見つかりません。NuGet サービスは利用できません。テスト アダプター拡張機能がないため、テストが見つからない可能性があります。
[2018/05/18 14:37:30 Informational] ========== テストの探索が完了しました: 0 が見つかりました (0:00:01.7070977) ==========
ソルーション読み込み時に 上記メッセージが 出るようになりました
ActivityLog.xml で 以下の ERROR が あります
ERROR The color 'Popup' in category 'de7b1121-99a4-4708-aedf-15f40c9b332f' does not exist.
と
ERROR System.InvalidOperationException: 'System.Windows.Documents.Run' は、Visual または Visual3D ではありません。 場所 MS.Internal.Media.VisualTreeUtils.AsVisual(DependencyObject element, Visual& visual, Visual3D& visual3D) 場所 MS.Internal.Media.VisualTreeUtils.AsNonNullVisual(DependencyObject element, Visual& visual, Visual3D& visual3D) 場所 System.Windows.Media.VisualTreeHelper.GetParent(DependencyObject reference) 場所 Microsoft.VisualStudio.Language.Intellisense.Implementation.GoToDefMouseHandler.IsMouseOverTextView(Point position) 場所 Microsoft.VisualStudio.Language.Intellisense.Implementation.GoToDefMouseHandler.<<OnModifierKeyStateChanged>b__19_0>d.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 場所 Microsoft.VisualStudio.Text.Utilities.GuardedOperations.<CallExtensionPointAsync>d__29.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所 Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
いろいろ試しているうちに
例画のメッセージが変わり
0x74BDDC82 (oleaut32.dll) で例外がスローされました (IE Control.exe 内): 0xC0000005: 場所 0x036AA240 の読み取り中にアクセス違反が発生しました
になりました
プログラム中以下を何回も呼び出しているのですが
C++
1string get_Char(CComBSTR tmp) { 2 string st = ""; 3 if (tmp.Length() <= 32767 && tmp.Length() >0) { 4 WCHAR str[40000]; 5 swprintf_s(str, L"%s", tmp); 6 SysFreeString(tmp); 7 8 char wStrC[40000]; 9 10 //string st = string(dest.begin(), dest.end()); 11 size_t wLen = 0; 12 errno_t err = 0; 13 14 //ロケール指定 15 setlocale(LC_ALL, "japanese"); 16 //変換 17 err = wcstombs_s(&wLen, wStrC, 40000, str, _TRUNCATE); 18 st = wStrC; 19 20 } 21 return st; 22} 23CComBSTRを string に変換するものですが 24どこに問題があるのでしょうか? 25 26また 例外は 27nline CComBSTR::~CComBSTR() throw() 28{ 29 ::SysFreeString(m_str); 30} 31で止まっています
回答2件
あなたの回答
tips
プレビュー