- UID
- 110840
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-3-8
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Adesk::Boolean getModelSpaceRecord(AcDbBlockTableRecord*& pBlkTableRecord);
Adesk::Boolean g_bProceed = Adesk::kFalse;
void drawWindo()
{
AcDbBlockTableRecord* pBlkTableRecord;
RectWindow *pRectWindow;
RectWindow *pGenericWind;
if(g_bProceed)
{
pRectWindow = new RectWindow;
pGenericWind = pRectWindow;
pGenericWind->setWindowLength(windInfo.m_dWindWt);
pGenericWind->setWindowHeight(windInfo.m_dWindHt);
pGenericWind->setWindowCols(windInfo.m_nCols);
pGenericWind->setWindowRows(windInfo.m_nRows);
pGenericWind->setWindowStartPoint(windInfo.m_startPt);
//acutPrintf("g_pWindoTypeDlg->m_dHeight");
//AfxMessageBox("g_pWindoTypeDlg->m_dHeight");
if(!getModelSpaceRecord(pBlkTableRecord))
{
return;
}
pGenericWind->drawWindow(pBlkTableRecord);
if(pGenericWind != NULL)
{
delete pGenericWind;
}
pBlkTableRecord->close();
g_bProceed = Adesk::kFalse;
}// if g_bProceed
else
{
acutPrintf("\nUser cancelled. ");
}
}
Adesk::Boolean getModelSpaceRecord(AcDbBlockTableRecord*& pBlkTableRecord)
{
AcDbDatabase *pCurDb;
AcDbBlockTable *pBlkTable;
Acad::ErrorStatus es;
pCurDb = acdbHostApplicationServices()->workingDatabase();
es = pCurDb->getBlockTable(pBlkTable, AcDb::kForRead);
if(es != Acad::eOk)
{
acutPrintf("\nFailed to open Block Table for a read operation.");
return Adesk::kFalse;
}
es = pBlkTable->getAt(ACDB_MODEL_SPACE, pBlkTableRecord, AcDb::kForWrite);
if(es != Acad::eOk)
{
acutPrintf("\nFailed to open MODEL SPACE for a write operation.");
pBlkTable->close();
return Adesk::kFalse;
}
pBlkTable->close();
return Adesk::kTrue;
}
编译通过在运行的时候 一直是显示的User cancelled!
原因可能是不能open MODEL SPACE for a write operation。。
是不是在哪里应该添加一句pBlkTableRecord->close() ??
大家帮忙指点看一下
另外在调试的时候我想在CAD里面查询赋值,
acutPrintf("g_pWindoTypeDlg->m_dHeight");
AfxMessageBox("g_pWindoTypeDlg->m_dHeight");
为什么都得不到 对话框中的参数? |
|