私はアクションデリゲートを持っています:
public static Action SubscribeForTable;
私は自分のObjects
方法でそれをロードしました
public void SubscribeMe()
{
Parallel.For(0, ACCESS.GetAppCount(), AppCheck);
CheckTable(true);
}
したがって、同じ関数を含むがオブジェクトが異なるデリゲートがあります。
次に、これを行います:
Parallel.Invoke(SubscribeForTable);
実行するために起動し、待機します...待機します...そして何も起こりません! アプリケーションが動かなくなった!次に、デバッガーを起動しました。
SubscribeMe()
機能に戻る
Parallel.For(0, ACCESS.GetAppCount(), AppCheck); //OK
CheckTable(true); // lets see what is in
それから私はこの機能を見ました..
delegate void CheckTableCallback(bool check);
private void CheckTable(bool Subscribed)
{
if (DataGridView1.InvokeRequired) // OK
{
CheckTableCallback Safe = new CheckTableCallback(CheckTable); // OK
DataGridView1.Invoke(Safe, new Object[] {Subscribed}); //HANGS HERE!
}
else
{
....
だからそれはハングアップしDataGridView.Invoke
ます。なんでそうなの?問題を正しく説明できたことを願っています。