少し問題が残っています: データが到着するとOnResponseData
が発生する通信クラスを作成しました。 これで、呼び出し元がアクティビティ自体かクラスかどうかを確認する必要があります。RunOnUiThreadが必要かどうか確認してください。
は、このコードを参照してください:
private void OnResponseData(ushort ID, byte function, byte[] values)
{
#if (winm || win7) // windows mobile or phone 7
if (this.m_Container.Form.InvokeRequired)
{
this.m_Container.Form.BeginInvoke(new ModbusTCP.Master.ResponseData(OnResponseData), new object[] { id, function, values });
return;
}
#else
if (??) // well this is the problem, what i need to check here?
{
Action newAc;
newAc = delegate { OnResponseData(ID, function, values); };
this.m_Container.Form.RunOnUiThread(newAc);
return;
}
#endif
...
this.m_Container.Form
は、私は基本的にはAndroidのためInvokeRequiredを必要とする私のActivity
です。
これまでのところありがとうございます。
instanceOfはC#で定義されていないので、代わりにtryedが使用されます。しかし、効果はありません。誰か別のアイデアを持っている? – Eun
Javaの 'instanceof'キーワードに相当するC#は' is'キーワードです: 'if(this.m_Container is Activity)...' – jonp