シリアル ポートで Zebra プリンタと通信するプログラムがあります。このプログラムは WM デバイス (Motorola ES400、MC35、MC55、および MC65) で実行され、MZ320 では非常に信頼性がありますが、iMZ320 ではそうではありません。デバイスでは、Bluetooth 発信ポートを使用します。iMZ320 では、プログラムは非常に頻繁に i/o 例外をスローします。(シリアルポートは存在しません)。ポートは開く前に GetPortNames でチェックされ、COM ポートがリストに表示されます。
エラー メッセージが表示される前に、プログラムは 80 秒間待機します。(ただし、ES400 のみ)。この間、プリンターは Bluetooth 接続が開いていることを示します (青色の LED)。プリンターがオフの場合、同じメッセージが表示されますが、わずか 6 秒後に表示されます。これが発生した後、ES400 上のプログラムは、プリンターを再起動するまで iMZ と通信できません。MC55 では、プログラムは 6 秒間待機し、例外をスローします。その後、再起動せずに印刷できます。
Zebra iMZ320 は最新のファームウェアで動作します。
Zebra の Multiplatform SDK にはデモがあります。これを試しましたが、同じエラーが発生しました。
質問:なぜそれが起こっているのか、そして私たちに何ができるのか誰か知っていますか?