1

次のように、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 のトリックを知っている場合は、手を貸してください。ありがとう。

4

0 に答える 0