「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@709) [低] [未処理]
@709■ (#2238) メモの行に数値を代入時の動作がおかしい - TD (2013-12-21 04:08) /低 未処理
【症状】
メモの行番号を指定しても正常に反映されない。
正確には、1度目だけは正常に処理され、2度目以降の動作がおかしい。

【再現方法】
テストメモとはメモ
テストメモ=「0/1/2/3/4/5/6/7/8/9/10」を「/」で区切ったもの
テストメモの行=5
テストメモの行=2

以上で、本来なら3行目の2が最上段になるようスクロールされるはずが、3が表示される。
「テストメモの行=2」を増やし続けるとずれが更に大きくなっていく。

ある程度(絶対値の)大きい負の数値を代入することで初期化できるようなので、回避は可能な模様。

【要望】

代入した数値通りの行を表示されるように。

【バージョン】

1.539

【その他】

Windows8.1でのみ確認しているため、他のOSでも発生するかは確認していません。

(#2240) メモの行に数値を代入時の動作がおかしい - うぇいく (2013-12-25 22:29) /低 未処理
現象と原因を確認しました。
行に設定した際、キャレットの位置が画面外に行ってしまい、どんどんずれていっているようです。

原因は、内部で使用しているEM_LINEINDEXとEM_LINEFROMCHARは、文字単位で扱うのですが、バイト単位のEM_SETSEL/EM_GETSELと混ぜているのが原因のようです。文字数とバイト数の間で単純な変換ができない(最初の文字から数えてみるしかない?)ため、修正方法はちょっと考えてみます。

(#2238)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能