会社ついたよー

0908到着。昨日深夜の現象の解明に挑む!と、気合を入れた瞬間にわかったりする。無線HHTに一回に送れるレコードの最大長が決まっているので、大きなデータの時は分割して送るのだが、この時、分割点が漢字コードの第一バイトと第二バイトの間であるとき、結果として、レコードの最終バイトが漢字コードの第一バイトのみという構成になる。で、VBちゃんはご丁寧にも、この第一バイトのみの部分が、シフトJISからUNICODEに変換できないという理由で勝手に削るらしい。で、コードに現れていない部分で1文字消え去るので、レコード長が不整合になり、エラーが発生している、という。HHT送信用のOCXはByte配列は受け付けず、文字列のみ。システムでVB以外の全ての部分はシフトJISでないと処理が出来ない。って言う条件なので、レコード長をダイナミックに調整して漢字を分割しないようにして一件落着。しかしなー、ログファイルに出力するときは空白になるくせに、なんでOCXにわたると消えますかね?挙動をそろえてくれれば割とすぐにわかった気がするのだが……。

カテゴリーLOG

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください