C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 18 を表示中)
■6847 / )  Re[2]: Control.Invokeが使えない件。
□投稿者/ 渋木宏明(ひどり) (308回)-(2007/08/24(Fri) 23:46:58)
渋木宏明(ひどり) さんの Web サイト
> ほんとかなと思って試してみましたが,
> 以下のケースでは閉じたフォームに対する Invoke で InvalidOperationException 例外が発生しました.

やっぱりそうですよねぇ。

Control.Invoke() が最終的に SendMessage() を呼び出しているなら、存在しないウィンドウへの SendMessage() はブロックではなくエラーになるはずで、その時例外が発生するというのは(とりあえずは)納得できる実装です。

Control.Invoke() で立ち往生するケースがあるということですが、SDK レベルで SendMessage() を使っていても、使い方がまずければデッドロックします。

なので、Control.Invoke() でデッドロックするのも似たような状況なんじゃないかなーと。

返信 編集キー/


管理者用

- Child Tree -