次のように、Jscript.Net ファイルで新しいスレッドを開始しています。
function clearinternalfaults( param : String)
{
ThreadPool.QueueUserWorkItem(MyWorkItem);
}
public function MyWorkItem(state : Object) : void
{
informationTextBox1.Text = "tesT";
}
当然のことながら、クロス スレッド操作の例外が発生します。どうすればこれを解決できますか。メイン フォームで Invoke を使用できるかどうかわかりません。Jscript.Net でデリゲートとイベントを宣言できないことは確かです。これを修正する方法はありますか?
実際、バックグラウンドで C# コードにデリゲートがあります。
そのデリゲートをメソッドに接続します。
MyClass.myRF = clearinternalfaults;
だから私がコードを呼び出すとき
myRF("test")
clearinternalfauls が実行され、問題なく実行されます。しかし、私の場合、そこから GUI を更新しようとすると、ブロックされます。理由がわからないので、そのスレッドを作成して、私のために仕事をします。クロス操作はすぐに行われます。
誰かが Jscript のトリックを知っている場合は、手を貸してください。ありがとう。