◀一般トップへ
  • 3473 EOF以降にカーソルでアプリケーションエラー
    • 3494 Re: EOF以降にカーソルでアプリケーションエラー
      • 3500 Re2: EOF以降にカーソルでアプリケーションエラー
        • 3501 Re3: EOF以降にカーソルでアプリケーションエラー
          • 3512 Re4: EOF以降にカーソルでアプリケーションエラー
  • [3473] EOF以降にカーソルでアプリケーションエラー みく 2003年11月08日 08:50


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

    *
    開いていたファイルは、デバッグ用のログファイルで
    頻繁に書き込み(追加)が行われトランケートも行われるファイルです。
    • [3494] Re: EOF以降にカーソルでアプリケーションエラー げんた 2003年11月15日 11:20

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


        100%再現できました。

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

        データなしの場合に桁制御ができてないと思われます。
        • [3501] Re3: EOF以降にカーソルでアプリケーションエラー みく 2003年11月17日 20:11


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

          改行以降にカーソルが出現した場合は、
          アプリケーションエラーにはなりません。
          • [3512] Re4: EOF以降にカーソルでアプリケーションエラー みく 2003年11月23日 15:11


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

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