VS2008、.NET 2、VB.NET、XP ...WebBrowserコントロールでフォームを閉じるときにRaceOnRCWCleanupエラーが発生するのはなぜですか?
私はWindowsフォームを持ち、Webブラウザーコントロールと閉じるボタンはMe.Close
です。フォームのキャンセルボタンは閉じるボタンに設定されているので、ESCを押してフォームを閉じることができます。
loadイベントにWebBrowserコントロールのDocumentText
プロパティを設定し、HTMLを表示します。
Visual Studioからアプリケーションを実行しているときに、閉じるボタンをクリックすると、フォームはエラーなしで閉じます。私はESCボタンを押した場合
は私が
RaceOnRCWCleanupが検出された メッセージが表示されます:試みが使用されている 自由RCWに行われています。 RCW がアクティブスレッドで使用されているか、別のスレッドで が使用されています。使用中のRCWを から解放しようとすると、データが破損するか、 が失われる可能性があります。
私はVSの外でアプリを実行するとエラーは表示されません。
アイデアa)なぜエラーですか、そしてb)それを防止するか抑止するか?
事前に感謝します。
いいえ、それはすべてフォアグラウンドスレッドで起こっています。 それは私が気になることが起こっているという事実ではありません - VSでそれらを切る方法があります。CloseボタンをクリックしてCloseイベントハンドラを呼び出した場合、*は発生しませんが、CloseボタンはフォームのCancelボタンプロパティであるため、ESCを押して同じハンドラを呼び出すと、 *します。 なぜ違いがありますか? – ChrisA
私はこの正確なシナリオを見ています。Webブラウザを使用してフォームを閉じる必要があるため、問題はありません。 ESCを押して「X」をクリックするのに違いがある理由を理解したいと思います。 – mpeterson
@chris、@mpeterson - reproと解決策を得て、更新されたポスト。 –