◀一般トップへ
  • 1978 色設定のインポートでアプリケーションエラー
    • 1979 RE: 色設定のインポートでアプリケーションエラー
      • 1987 RE2: 色設定のインポートでアプリケーションエラー
        • 1992 RE3: 色設定のインポートでアプリケーションエラー
  • [1978] 色設定のインポートでアプリケーションエラー ほた 2002年06月05日 03:36

    初めまして,最近使い始めたものです.
    色設定のインポートをキーボード操作のみで行おうとしたときに
    アプリケーションエラーで異常終了する現象が生じました.
    マウスで設定するとこちらの意図通り動作します.

    2000/06/05版
    Win2000 SP2
    • [1979] RE: 色設定のインポートでアプリケーションエラー やざき 2002年06月05日 09:29


      >初めまして,最近使い始めたものです.
      >色設定のインポートをキーボード操作のみで行おうとしたときに
      >アプリケーションエラーで異常終了する現象が生じました.
      >マウスで設定するとこちらの意図通り動作します.

      確かに。不思議ですね。
      例えば「色指定」の「行番号」をクリックしてから、ALT+Iでインポートダイアログを呼び出したときに発生するようです。

      そして発生場所は、

      void CPropTypes::SetData_p3_new( HWND hwndDlg )
      の
      /* 色をつける文字種類のリスト */
      hwndWork = ::GetDlgItem( hwndDlg, IDC_LIST_COLORS );
      ::SendMessage( hwndWork, LB_RESETCONTENT, 0, 0 ); /* コンボボックスを空にする */

      の::SendMessage()でした。

      ちなみにいきなりALT+Iを使わずに、キーボードでTABを使ってフォーカスを移動してから、ALT+Iすれば発生しません。
      どなたか修正を!!
      • [1987] RE2: 色設定のインポートでアプリケーションエラー みく 2002年06月05日 20:26


        とりあえず、
        ::EnableWindow( hwndWork, FALSE );
        ::SendMessage( hwndWork, LB_RESETCONTENT, 0, 0 ); /* コンボボックスを空にする */
        ::EnableWindow( hwndWork, TRUE );
        とすればエラーになりません。
        #フォーカスがどっかいってしまいますが。

        リストにフォーカスが残った状態でオーナードローの
        リストを消すと駄目なんでしょうか。
        • [1992] RE3: 色設定のインポートでアプリケーションエラー みく 2002年06月06日 18:45


          DrawColorListItem()関数内のstrlen()でNULLポインタでエラーになってます。

          CPropTypes.cppファイル中、DrawColorListItem()関数の先頭で
          パラメータのNULLチェックを行ってください。


          /* 色種別リスト オーナー描画 */
          void CPropTypes::DrawColorListItem( DRAWITEMSTRUCT* pDis )
          {

          /*
          * リストにフォーカスがあるときに"Alt-I"をするとアプリケーションエラーになる。
          */
          if( pDis == NULL || pDis->itemData == NULL )
          {
          return;
          }