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

わんくま同盟

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

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


(過去ログ 18 を表示中)
■6867 / )  Re[8]: Control.Invokeが使えない件。
□投稿者/ れい (67回)-(2007/08/25(Sat) 10:32:05)
2007/08/25(Sat) 10:38:40 編集(投稿者)

あ、あれ?
はじめっから全然伝わってない…。

> 結局、Control.Invoke() を使うことによる不都合は↓のどちらのパターンであるって話なんでしょう?
> ・Control.Invoke() の投げ先が正常な状態にあっても常に起き得る。
> ・Control.Invoke() の投げ先であるフォーム/コントロールが廃棄途上にある時に起きる。

後者です。

私、日本語が不自由っぽいですね。
うまく伝えられなくてすみません。

廃棄中のControlに他のスレッドからInvokeすると止まることがあります。
Invoke先は他スレッドなので、Invoke先Controlが廃棄中であるかどうか、
Invoke元スレッドから正確に判断することができません。
なので、Control.Invokeを安全に使えるケースが存在しない、と言ってます。

伝わったでしょうか?

返信 編集キー/


管理者用

- Child Tree -