From 162e60d66c78bd51aa44c691fe4f4e2f1deb990f Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Sat, 19 May 2012 14:24:27 +0000 Subject: added Quotes git-svn-id: http://svn.miranda-ng.org/main/trunk@76 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Quotes/ComHelper.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 plugins/Quotes/ComHelper.cpp (limited to 'plugins/Quotes/ComHelper.cpp') diff --git a/plugins/Quotes/ComHelper.cpp b/plugins/Quotes/ComHelper.cpp new file mode 100644 index 0000000000..e15d05d739 --- /dev/null +++ b/plugins/Quotes/ComHelper.cpp @@ -0,0 +1,39 @@ +#include "StdAfx.h" +#include "ComHelper.h" +#include "Log.h" +#include "WinCtrlHelper.h" + +tstring ComException2Msg(_com_error& e,const tstring& rsAdditionalInfo) +{ + HRESULT hError = e.Error(); + tostringstream o; + if(false == rsAdditionalInfo.empty()) + { + o << rsAdditionalInfo << "\n"; + } + + o << e.ErrorMessage() << _T(" (") << std::hex << hError << _T(")"); + + IErrorInfo* p = e.ErrorInfo(); + CComPtr pErrorInfo(p); + if(NULL != p) + { + p->Release(); + } + + if(pErrorInfo) + { + o << _T("\n") << e.Description(); + } + + return o.str(); +} + +void ShowComError(_com_error& e,const tstring& rsAdditionalInfo) +{ + tstring sErrorMsg = ComException2Msg(e,rsAdditionalInfo); + LogIt(Error,sErrorMsg); + Quotes_MessageBox(NULL,sErrorMsg.c_str(),MB_OK|MB_ICONERROR); +} + + -- cgit v1.2.3