//----------------------------------------------------------------------------- //IAcadBaseObjectImpl HRESULT [!output CLASS_NAME]::CreateNewObject (AcDbObjectId &objId, AcDbObjectId &ownerId, TCHAR *keyName) { try { HRESULT hr ; if ( FAILED(hr =CreateObject (ownerId, keyName)) ) throw hr ; if ( FAILED(hr =AddToDb (objId, ownerId, keyName)) ) throw hr ; } catch( HRESULT hr ) { return (hr) ; } return (S_OK) ; }
// IAcadBaseObjectImpl HRESULT CAsdkSquareWrapper::CreateNewObject(AcDbObjectId& objId, AcDbObjectId& ownerId, TCHAR* keyName) { try { HRESULT hr; if (FAILED(hr = CreateObject(ownerId, keyName))) throw hr; if (FAILED(hr = AddToDb(objId, ownerId, keyName))) throw hr; } catch(HRESULT hr) { return hr; } return S_OK; }
HRESULT CComPolygon::CreateNewObject(AcDbObjectId& objId, AcDbObjectId& ownerId, TCHAR* keyName) { try { HRESULT hr; if (FAILED(hr = CreateObject(ownerId, keyName))) throw hr; if (FAILED(hr = AddToDb(objId, ownerId, keyName))) throw hr; } catch(HRESULT hr) { //we can become more sophisticated return hr; } return S_OK; }