[commit] r2321 - trunk/GME/Mga
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Fri Aug 30 09:06:53 CDT 2013
Author: ksmyth
Date: Fri Aug 30 09:06:53 2013
New Revision: 2321
Log:
Better ErrorInfo
Modified:
trunk/GME/Mga/MgaProject.cpp
trunk/GME/Mga/MgaProject.h
trunk/GME/Mga/StdAfx.cpp
Modified: trunk/GME/Mga/MgaProject.cpp
==============================================================================
--- trunk/GME/Mga/MgaProject.cpp Fri Aug 30 09:06:32 2013 (r2320)
+++ trunk/GME/Mga/MgaProject.cpp Fri Aug 30 09:06:53 2013 (r2321)
@@ -140,28 +140,26 @@
inline HRESULT EDEF(HRESULT hr, HRESULT to) { HRESULT h = hr; if(h != S_OK) h = to; return h; }
-STDMETHODIMP CMgaProject::OpenParadigm(BSTR s, VARIANT *pGUID) {
- COMTRY {
- CComPtr<IMgaRegistrar> mgareg;
- COMTHROW(mgareg.CoCreateInstance(OLESTR("Mga.MgaRegistrar")));
- CComBSTR connstr;
+void CMgaProject::OpenParadigm(BSTR s, VARIANT *pGUID) {
+ CComPtr<IMgaRegistrar> mgareg;
+ COMTHROW(mgareg.CoCreateInstance(OLESTR("Mga.MgaRegistrar")));
+ _bstr_t connstr;
+ {
+ HRESULT hr = mgareg->QueryParadigm(s, connstr.GetAddress(), pGUID, REGACCESS_PRIORITY);
+ if (FAILED(hr))
{
- HRESULT hr = mgareg->QueryParadigm(s, &connstr, pGUID, REGACCESS_PRIORITY);
- if (FAILED(hr))
- {
- CComPtr<IErrorInfo> info;
- GetErrorInfo(0, &info);
- throw _com_error(E_MGA_PARADIGM_NOTREG, info, true);
- }
+ CComPtr<IErrorInfo> info;
+ GetErrorInfo(0, &info);
+ throw _com_error(E_MGA_PARADIGM_NOTREG, info, true);
}
- ASSERT(connstr);
- COMTHROW(metapr.CoCreateInstance(OLESTR("Mga.MgaMetaProject")));
- COMTHROW(EDEF(metapr->Open(connstr), E_MGA_PARADIGM_NOTREG));
- CComVariant metaGUID;
- COMTHROW(metapr->get_GUID(&metaGUID));
- if(guidcmp(metaGUID, *pGUID)) COMTHROW(E_MGA_PARADIGM_INVALID);
- parconn = connstr;
- } COMCATCH(;);
+ }
+ ASSERT(connstr);
+ COMTHROW(metapr.CoCreateInstance(OLESTR("Mga.MgaMetaProject")));
+ metapr->__Open(connstr);
+ CComVariant metaGUID;
+ COMTHROW(metapr->get_GUID(&metaGUID));
+ if(guidcmp(metaGUID, *pGUID)) COMTHROW(E_MGA_PARADIGM_INVALID);
+ parconn = connstr.GetBSTR();
}
@@ -181,9 +179,7 @@
}
}
}
- HRESULT hr = OpenParadigm(s,&vguid);
- if (FAILED(hr))
- return hr;
+ OpenParadigm(s,&vguid);
} COMCATCH(;);
}
@@ -198,7 +194,7 @@
CComVariant connGUID;
if(paradigmGUID.vt != VT_EMPTY) connGUID = paradigmGUID;
- COMTHROW(OpenParadigm(paradigmname, &connGUID));
+ OpenParadigm(paradigmname, &connGUID);
int undosize = getMaxUndoSize();
COMTHROW(dataproject->CreateProject2(projectname, undosize, genericproject));
@@ -325,7 +321,7 @@
COMTHROW(metapr->get_GUID(&pGUID));
}
else {
- COMTHROW(OpenParadigm(s,&pGUID));
+ OpenParadigm(s, &pGUID);
ver.Empty();
COMTHROW(metapr->get_Version(&ver));
}
@@ -436,7 +432,7 @@
hr = OpenParadigm(s,ver);
}
else {
- hr = OpenParadigm(s,&pGUID);
+ OpenParadigm(s, &pGUID);
}
if (FAILED(hr))
{
Modified: trunk/GME/Mga/MgaProject.h
==============================================================================
--- trunk/GME/Mga/MgaProject.h Fri Aug 30 09:06:32 2013 (r2320)
+++ trunk/GME/Mga/MgaProject.h Fri Aug 30 09:06:53 2013 (r2321)
@@ -49,7 +49,7 @@
STDMETHOD(get_MetaObj)(/**/ long id, /**/ IMgaMetaBase * *pVal);
STDMETHOD(GetMetaObjDisp)(/**/ long id, /**/ IMgaMetaBase * *pVal) { return get_MetaObj( id, pVal); }
- STDMETHOD(OpenParadigm)(BSTR s, VARIANT *pGUID);
+ void OpenParadigm(BSTR s, VARIANT *pGUID);
STDMETHOD(OpenParadigm)(BSTR s, BSTR ver);
STDMETHOD(Create)(BSTR projectname, BSTR paradigmname) { return CreateEx(projectname, paradigmname, NULLVARIANT); }
STDMETHOD(CreateEx)(BSTR projectname, BSTR paradigmname, VARIANT parguid);
Modified: trunk/GME/Mga/StdAfx.cpp
==============================================================================
--- trunk/GME/Mga/StdAfx.cpp Fri Aug 30 09:06:32 2013 (r2320)
+++ trunk/GME/Mga/StdAfx.cpp Fri Aug 30 09:06:53 2013 (r2321)
@@ -8,4 +8,5 @@
#include <statreg.h>
#endif
+#import "MetaLib.tlb" implementation_only no_namespace raw_method_prefix("") high_method_prefix("__") no_registry
#import "MgaLib.tlb" implementation_only no_namespace raw_method_prefix("") high_method_prefix("__") no_registry
More information about the gme-commit
mailing list