2011年9月12日月曜日

VB6での改行コード表示違い。XP , 2000

VB6においてWINDOWS XPと2000によって
vsFlexArray(vsFlexGrid)上の改行コードの表示が違います。

表示が違うというか、XPの場合は改行コードを表示しません。
よって改行コードが入っているかどうか確認できません。
WINDOWS 2000の場合は下記のような表示になります。
[・ABCDE]
[・XYZXA]
改行が[・]で表示されますが、
WINDOWS XPの場合は
[ABCDE]
[XYZXA]
となにも表示されないので、改行が入っているかどうか分からないので、
帳票のよっては先頭に改行が入って入るために表示されない不具合が発生します。

WINDOWS 2000の場合は [・]が表示されるため、画面上でおかしいなと分かるのですが、
XPの場合は[・]が表示されないため、マスター上は問題無いのに帳票に表示されないのはなぜ?
っとなってしまいました。

2000では[・]でおかしいと判断できるので、ユーザー側でかって修正するのですが、
XPではユーザー側で不具合箇所が特定できないため、連絡が入ります。
VBの開発環境はWINDOWS 2000のままなので、たまたま発覚しましたが・・・。

不具合の回避策を色々と探したのですが、
改行を[・]と表示する WINDOWS 2000自体がバグである為、
XPで[・]表示することは不可能でした。

よって、取りあえずの回避策として以下の2点の実施です。
・先頭に改行が入る場合は、ExcelからvsFlexArrayに貼付けを行なった場合に発生。
 よって、貼付けを行なう時に先頭に改行コードが入って入れば削除して貼付けを実施
VB6での改行文字調査
・現状、改行が先頭に入っているのを確認する為、SQL文を発行し該当分を修正
 SQLでの改行文字調査

で、取りあえずは回避です。

XPと2000では微妙に動きが違ったりと修正が必要だったりします。

.NETに移行もしたいのですが、マンパワーが圧倒的に足りません。

------------------------------------------------------
VB6 FlexArray 改行

0 件のコメント:

コメントを投稿