FCLT#62514 FAC-verify crashte bij tekeningen zonder ePlotSection (op xd.PropertiesXML), daarom DWFExceptions beter afvangen

svn path=/Slnkdwf/trunk/; revision=47074
This commit is contained in:
Jos Groot Lipman
2020-06-08 16:12:25 +00:00
parent 93830c0ef6
commit e7f859d742

View File

@@ -47,7 +47,7 @@ STDMETHODIMP CDWFFile::Open(BSTR DWFPath)
if (CString(DWFPath).IsEmpty())
return E_INVALIDARG;
try
try
{
if (CDWFFileImpl::Open(CString(DWFPath)))
{
@@ -56,6 +56,12 @@ STDMETHODIMP CDWFFile::Open(BSTR DWFPath)
else
return E_FAIL;
}
catch (DWFException& ex)
{
CString err;
err.Format("%ls\n%ls\n%s\n%ls(%d)", ex.type(), ex.message(), ex.function(), ex.file(), ex.line());
return myAtlReportError(GetObjectCLSID(), "\nCDWFFile::Open('%s')\n%s", CString(DWFPath), err);
}
catch (CString& e)
{
return myAtlReportError (GetObjectCLSID(), e);
@@ -85,12 +91,12 @@ STDMETHODIMP CDWFFile::Create(BSTR DWFPath, VARIANT EPlotStream)
return E_INVALIDARG;
}
try
try
{
{
//TODO CDWFFileImpl *epli;
// DWFFile->get_DWFFileImpl((BYTE **)&epli);
if (CDWFFileImpl::Create(CString(DWFPath), /*epli*/NULL))
{
return S_OK;
@@ -99,6 +105,12 @@ STDMETHODIMP CDWFFile::Create(BSTR DWFPath, VARIANT EPlotStream)
return E_FAIL;
}
}
catch (DWFException& ex)
{
CString err;
err.Format("%ls\n%ls\n%s\n%ls(%d)", ex.type(), ex.message(), ex.function(), ex.file(), ex.line());
return myAtlReportError(GetObjectCLSID(), "\nCDWFFile::Create('%s')\n%s", CString(DWFPath), err);
}
catch (CString& e)
{
return myAtlReportError (GetObjectCLSID(), e);
@@ -113,7 +125,7 @@ STDMETHODIMP CDWFFile::Create(BSTR DWFPath, VARIANT EPlotStream)
STDMETHODIMP CDWFFile::CreateEPlotSection(BSTR W2DPath, VARIANT EPlotStream, LONG *nItem)
{
try
try
{
if (EPlotStream.vt!=VT_ERROR)
{
@@ -159,10 +171,16 @@ STDMETHODIMP CDWFFile::Save()
{
myDoTRACE("\nCDWFFile::Save()");
try
try
{
CDWFFileImpl::Save();
}
catch (DWFException& ex)
{
CString err;
err.Format("%ls\n%ls\n%s\n%ls(%d)", ex.type(), ex.message(), ex.function(), ex.file(), ex.line());
return myAtlReportError(GetObjectCLSID(), "\nCDWFFile::Save()\n%s", err);
}
catch (CString& e)
{
return myAtlReportError (GetObjectCLSID(), e);
@@ -172,13 +190,26 @@ STDMETHODIMP CDWFFile::Save()
STDMETHODIMP CDWFFile::get_PropertiesXML(BSTR* pVal)
{
CString s;
if (CDWFFileImpl::get_PropertiesXML(s))
try
{
CComBSTR bstrString(s);
return bstrString.CopyTo(pVal);
if (CDWFFileImpl::get_PropertiesXML(s))
{
CComBSTR bstrString(s);
return bstrString.CopyTo(pVal);
}
else
return E_FAIL;
}
catch (DWFException& ex)
{
CString err;
err.Format("%ls\n%ls\n%s\n%ls(%d)", ex.type(), ex.message(), ex.function(), ex.file(), ex.line());
return myAtlReportError(GetObjectCLSID(), "\nCDWFFile::get_PropertiesXML()\n%s", err);
}
catch (CString& e)
{
return myAtlReportError(GetObjectCLSID(), e);
}
else
return E_FAIL;
return S_OK;
}