|
■No95381 (バンクー さん) に返信 >>int ret = cTmctl.Initialize(TMCTL.TM_CTL_USB, "1", ref id); > 上記の通り記載しましたが同じメッセージが出てしまいます。
上記のメッセージについては、おそらく
ret = cTmctl.Initialize(TMCTL.TM_CTL_USB, "1", ref id); ret = cTmctl.SetTerm(id, 2, 1); if(ret != 0) {
が原因ですね。
最初の ret の中身を確認することなく、新しい値が上書きされていることが 警告の原因なので、毎回 ret の中身を確認するようにするか…
int ret = cTmctl.Initialize(TMCTL.TM_CTL_USB, "1", ref id); if (ret != 0) // ここの戻り値がどうあるべきかは、別途調査してください { ret = cTmctl.SetTerm(id, 2, 1); if (ret != 0) {
あるいは、最初の値はどうせ確認しないので、読み捨てるのはどうでしょう。
cTmctl.Initialize(TMCTL.TM_CTL_USB, "1", ref id); int ret = cTmctl.SetTerm(id, 2, 1); if (ret != 0) {
読み捨てるのではなく、あとで確認できるよう
int ret1 = cTmctl.Initialize(…); int ret2 = cTmctl.SetTerm(…);
などとそれぞれ別の変数に受けることもできるでしょう。
なお、Initialize が失敗することがあるのか、失敗したときに SetTerm をそのまま呼び出して良いのか、また、失敗時には ExecuteCommunicate が何を返すべきなのか(0 なのか、-1 なのか、それとも…)は TMCTL の通信ライブラリを持ち合わせていないので分かりません。
|