タイトル | : Re: コントロールに余分な文字列が追加で表示される |
記事No | : 16282 |
投稿日 | : 2017/02/13(Mon) 20:54 |
投稿者 | : 魔界の仮面弁士 |
> コントロールの文字列を表示している箇所の末尾に
複数の異なる種類のコントロールで再現するのでしょうか。(CommandButton, TextBox, ListBox…) それとも、特定のコントロール限定で発生するのでしょうか。
発生するコントロールは、標準コントロールでしょうか、ActiveX コントロールでしょうか、 それとも自作のユーザーコントロールでしょうか。
> 原因、対処方法等が分からず、困っております。
可能性1: 外部データ(ファイルやデータベース、シリアル通信など)を取り込んでいる箇所があり、 その外部データに予期せぬゴミデータが混入していて、それが問題を引き起こしている。
可能性2: 複数の箇所から読み書きされるようなグローバル変数が存在しており、 それがコーディング漏れで「前回の処理結果」をクリアしないまま 次の回の処理データが書き込まれてしまい、文字列データが破損している。
可能性3: API の呼び出し方が誤っており、本来は参照するべきでは無い位置のメモリに 書き込みを行われることで、他の変数を破壊されている。もしくは、文字数と バイト数を混同した読み書きが行われることで、本来読み取るべき範囲を超えて メモリの読み込みが行われ、未初期化領域のデータが文字列として読み込まれてしまった。
可能性4: 固定長文字列型とバイナリデータの変換処理において、 変数サイズと文字数とバイト数の関係性を見誤っており、 データの加工に失敗している。
|