◀ANSI版開発トップへ
  • 83 [バグ]読み込み専用で読めない
    • 88 RE: [バグ]読み込み専用で読めない
      • 94 Re2: [バグ]読み込み専用で読めない
        • 97 Re3: [バグ]読み込み専用で読めない
  • [83] [バグ]読み込み専用で読めない じぇぷろ 2001年02月24日 17:37

    最近はヘルプの改修にまわっていますが、それはそれで発見があるものですな。
    [ファイル]-[開く]で[読み取り専用ファイルとして開く]をチェックすると入力不可状態で開きます(閲覧モード)が、普通にファイルを開いた後に、別のファイルを読み込み専用で開こうとしてもそうなってくれません。
    (始めからそう開いた時はできる。) β12までは問題ないですが、β15ですでに発生します。β14はソースのみです。記憶ではβ13もソースのみだったと思いますが、履歴に書いてないのでわかりません。 ソースのみの時はその旨記録しておかないと忘れますね。この近辺での改修に心当たりがある人は(私とげんた氏?(゜o゜))わかることがあったらご報告ください。いうまでもなく改修コードをアップするのがベストですが。。。
    • [88] RE: [バグ]読み込み専用で読めない げんた 2001年02月26日 09:49

      > 普通にファイルを開いた後に、別のファイルを読み込み専用で開こうとしてもそうなってくれません。
      CEditApp::OpenNewEditorのbReadOnlyという引数が起動するプロセスのコマンドラインに反映されていないのが原因のようです。

      CEditApp.cppの1377行目くらいにReadOnlyのとき"-R"を引数に追加するコードを挿入すればOKです。これもじぇぷろさんの修正に入れておいてください。
      • [94] Re2: [バグ]読み込み専用で読めない じぇぷろ 2001年02月27日 21:23

        ▼ げんたさん
        > CEditApp.cppの1377行目くらいにReadOnlyのとき"-R"を引数に追加するコードを挿入すればOKです。これもじぇぷろさんの修正に入れておいてください。
        これとD&Dは修正・取り込みができましたが、肝腎の検索・置換誤認問題が未解決です。(私はヘルプの修正で手一杯でこれはいじってません。)
        これとバックアップのキャンセルもReturnさせる値がわからかくて未完成です。一応他の所を真似てこうしてみましたが。。。
        根本的に修正しなければダメそうなら諦めます。
        CEditDoc.cppの1545行目あたりから
        if( m_pShareData->m_Common.m_bBackUpDialog ){ /* バックアップの作成前に確認 */
           ::MessageBeep( MB_ICONQUESTION );
        //From Here Feb. 27, 2001 JEPROtest キャンセルもできるようにし、メッセージを追加した
        //  if( IDYES != MYMESSAGEBOX(
        //   m_hWnd,
        //   MB_YESNO | MB_ICONQUESTION | MB_TOPMOST,
        //   "バックアップ作成の確認",
        //   "変更される前に、バックアップファイルを作成します。\nよろしいですか?\n\n%s\n ↓\n%s\n\n",
        //   lstrlen( m_szFilePath ) ? m_szFilePath : "(無題)",
        //   szPath
        //   ) ){
        //   return FALSE;
        //   }
           nRet = ::MYMESSAGEBOX(
           m_hWnd,
           MB_YESNO/*CANCEL*/ | MB_ICONQUESTION | MB_TOPMOST,
           "バックアップ作成の確認",
           "変更される前に、バックアップファイルを作成します。\nよろしいですか? [いいえ(N)] を選ぶと上書き保存になります。\n\n%s\n ↓\n%s\n\n",
           lstrlen( m_szFilePath ) ? m_szFilePath : "(無題)",
           szPath
           );
           if( IDNO == nRet ){
           return FALSE;
           }else if( IDCANCEL == nRet ){
            return FALSE;// FALSE ではダメですが何を返せばいいのかわかりません。。。
           }
        //To Here Feb. 27, 2001
        }
        • [97] Re3: [バグ]読み込み専用で読めない げんた 2001年02月28日 01:40

          >これとバックアップのキャンセルもReturnさせる値がわからかくて未完成です。
          >return FALSE;// FALSE ではダメですが何を返せばいいのかわかりません。。。
          そもそもMakeBackup()の戻り値は全くチェックされていませんから、何を返しても動作は変わりません。MakeBackup()を使っているところ(2カ所)を変更しないと。

          戻り型をintにしてBackup成功/Backup失敗/Backup Canceledの3つが返せるようにして、呼び出し側でそれなりの処理を追加する必要があるでしょう。

          それにしても、あらためて見てみると「後で考える」と書かれたままの所とか分岐は書かれているけど処理が空っぽの所とかかなり手抜きされていますねぇ。(と他人事のように言う)