[3473] EOF以降にカーソルでアプリケーションエラー 
2003/11/8 (土) 08:50:25 みく
INCM1.23a

開いているファイル(*)が他で編集されてファイルサイズが小さくなったときに
「ファイルを開き直す」をすると、カーソルがEOF以降に出現することがよくあります。
この状態でカーソルを動かそうとすると、アプリケーションエラーで落ちました。
(ちなみに、アプリケーションエラーで落ちたときのファイルサイズは0バイトでした)


開いていたファイルは、デバッグ用のログファイルで
頻繁に書き込み(追加)が行われトランケートも行われるファイルです。


[3494] Re: EOF以降にカーソルでアプリケーションエラー 
2003/11/15 (土) 11:20:08 げんた
INCM1.23c
>「ファイルを開き直す」をすると、カーソルがEOF以降に出現することがよくあります。
reload処理では全部クリアして開きなおした後で元のカーソル位置に戻すようになっています.
カーソル位置を戻すのにはCEditView::MoveCursor()を使っていますが,ここでは入力値チェックを行っているように見えます.
じゃあなんでだろう?


[3500] Re2: EOF以降にカーソルでアプリケーションエラー 
2003/11/17 (月) 20:06:37 みく
INCM1.23a

100%再現できました。

・サクラエディタでファイルを開いて複数行のデータを入力する。
----- test.txt -----
<CR>
123<CR>
[EOF]
----- test.txt -----
・"3"のところにカーソルを移動してファイルを閉じる。
・サクラエディタでファイルを開く。
・メモ帳で同ファイルを開いて、データをすべて削除して上書き保存する。
・サクラエディタにフォーカスを移す。
・「開き直す」か更新チェックの「再読み込み」を行う。
・EOF以降にカーソルが出現する。(過去の桁位置にカーソルがある)
・カーソルを移動すると、アプリケーションエラー。

データなしの場合に桁制御ができてないと思われます。


[3501] Re3: EOF以降にカーソルでアプリケーションエラー 
2003/11/17 (月) 20:11:39 みく
INCM1.23a

追記:
ファイルサイズが0バイトでない場合でも、
EOF以降にカーソルが出現する場合にはアプリケーションエラーになりました。

改行以降にカーソルが出現した場合は、
アプリケーションエラーにはなりません。


[3512] Re4: EOF以降にカーソルでアプリケーションエラー 
2003/11/23 (日) 15:11:36 みく
INCM1.23a

>改行以降にカーソルが出現した場合は、
>アプリケーションエラーにはなりません。


何の疑いもなく書いてしまいましたが、
確か以前修正されたような記憶があるんですけど、
改行以降にカーソルが出現するようになってますねぇ。

INCM/CMT
Cyclamen v3.81