信じられませんが、これは私の他のアプリケーションでは機能しますが、同様の構造を持つこのアプリケーションでは機能しません。
public string ListAdd
{
set
{
if (listView1.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{
listView1.Items.Add(value);
});
}
else
{
listView1.Items.Add(value);
}
}
}
私がそれを呼ぶ方法:
var formz = Form.ActiveForm as Form1;
if (formz != null)
formz.ListAdd = "asdasdasdasd";
TCP経由でパケットを受信する関数から呼び出すと(リストビューに入れたい)、何も起こりませんが、WinSockを初期化する同じクラスで呼び出すと、動作します。
問題はどこにあるのでしょうか?
編集: アプリケーションをデバッグしたところです。formz は呼び出した場所 (受信関数) で null です。なぜそれは null ですが、他の場所ではありませんか?