[2470]
WSHエラー行番号
おに
割と簡単にできました。短いのでここに貼ってしまいます。
▼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()に統一できないかな…。