◀ANSI版開発トップへ
  • 2468 bcc32でコンパイルエラー
    • 2469 Re: bcc32でコンパイルエラー
    • 2470 WSHエラー行番号
  • [2468] bcc32でコンパイルエラー おに 2002年11月01日 02:59

    久しぶりに…と、最新のソースをmakeにかけたら、CLayoutMgr.cppがコンパイルできなくなっていました。

    getIndentOffset(getIndentOffset_Normal)
     ↓
    getIndentOffset(&CLayoutMgr::getIndentOf
    fset_Normal)

    この手の修正が4箇所程必要でした。

    /*自分が複雑なマクロを使わないもので放置しておりました…\(_ _);
    エラー行番号はIActiveScriptErrorから全情報を受けとれば、またMsgBoxはIActiveScriptSiteWindowを実装すれば(自分はJS派なので他の手段のほうが嬉しいです)、どうにかなると推測はしてますが…*/
    • [2469] Re: bcc32でコンパイルエラー げんた 2002年11月01日 17:18

      おお,久しぶりです.

      メソッドを呼び出すと空のウィンドウが開いてしまう現象が特定の環境で発生するようなので,こちらも手助けしていただけるとありがたいです.
    • [2470] WSHエラー行番号 おに 2002年11月03日 01:07

      割と簡単にできました。短いのでここに貼ってしまいます。

      ▼CWSHSite::OnScriptErrorを置き換え
      virtual HRESULT STDMETHODCALLTYPE OnScriptError(
      /* [in] */ IActiveScriptError *pscripterror)
      {
      EXCEPINFO Info;
      if(pscripterror->GetExceptionInfo(&Info) == S_OK)
      {
      DWORD Context;
      ULONG Line;
      LONG Pos;
      if(pscripterror->GetSourcePosition(&Cont
      ext, &Line, &Pos) == S_OK)
      {
      wchar_t *Message = new wchar_t[SysStringLen(Info.bstrDescription) + 128];
      wsprintfW(Message, L"[Line %d] %ls", Line + 1, Info.bstrDescription);
      SysReAllocString(&Info.bstrDescription, Message);
      delete[] Message;
      }
      m_Client->Error(Info.bstrDescription, Info.bstrSource);
      SysFreeString(Info.bstrSource);
      SysFreeString(Info.bstrDescription);
      SysFreeString(Info.bstrHelpFile);
      }
      return S_OK;
      };

      それと、エラー報告のMessageBoxですが、どうにかしてError()に統一できないかな…。