スレッドを使用してマシン上で何らかのプロセスを実行しています。最終的に、進行状況は他のスレッドに戻って報告されます。複数のパラメータでコントロールを呼び出すときのパラメータ数の不一致
public delegate void UpdateProgressDelegate(string description, int scriptnumber);
public void UpdateProgress(string description, int scriptnumber) {
if (treeView.InvokeRequired) {
treeView.Invoke(new UpdateProgressDelegate(UpdateProgress), description, scriptnumber);
return;
}
// Update the treeview
}
そして、私が使用して、このデリゲートを呼び出すために:プロセスのステータスとGUIを更新するには、私はこのようなデリゲートを使用呼び出しが呼び出され
form.UpdateProgress("Ready", 3);
を、私はTargetParameterCountExceptionを取得します:パラメータ数の不一致。
public delegate void UpdateProgressDelegate(object[] updateinfo);
public void UpdateProgress(object[] updateinfo) {
string description = (string) updateinfo[0];
int scriptnumber = (int) updateinfo[1];
if (treeView.InvokeRequired) {
treeView.Invoke(new UpdateProgressDelegate(UpdateProgress), new object[] { description, scriptnumber });
return;
}
// Update the treeview
}
を私は使用し、それを呼び出すために:
form.UpdateProgress(new object[] {"Ready", 3});
をしかし、これはどちらか動作しません は、私はこのように、単一のオブジェクト内の文字列とint型のパラメータを置くことによってこの問題を解決できると思っていました。私は同じTargetParameterCountExceptionを取得し続けます。どのように私はこれを修正することができる任意のアイデア?前もって感謝します!
AddScriptメソッドはどのように宣言されていますか?または、上記のコードでUpdateProgressとAddScriptを混同しましたか? –
スクリプト番号タイプは何ですか? – Tigran
@ThomasLevesqueおっと、私はそれらを混同しましたが、AddScriptはまったく別の機能です!私は私のポストを更新します、問題と例外はまだ同じです。 – Carlito