- UID
- 8619
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-8-8
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在程序中加了断点后,按F5进行debug时,为什么程序运行时有时在断点处中断,有时却不中断,这是怎么回事呀?
还有一个问题,我在程序中用ads命令绘制的实体如line还有人为将其加入模型空间吗?
最后就是我从AcDbEntity派生了一个类,但在操纵块表时appendAcDbEntity(objId,pEntity)语句程序出错(奇怪的是debug时不出错,直接执行时出错),代码部分如下:
void addToModelSpace(AcDbObjectId &objId, AcDbEntity* pEntity)
{
ads_printf("\nEnter addToModelSpace\n");
Acad::ErrorStatus es;
AcDbBlockTable *pBlockTable;
AcDbDatabase *pDb=acdbHostApplicationServices()->workingDatabase();
es = pDb->getBlockTable(pBlockTable,AcDb::kForRead);
if (es != Acad::eOk)
return;
AcDbBlockTableRecord *pSpaceRecord;
es = pBlockTable->getAt(ACDB_MODEL_SPACE, pSpaceRecord,AcDb::kForWrite,FALSE);
if (es != Acad::eOk) {
pBlockTable->close();
return;
}
ads_printf("\nTest1 for addToModelSpace\n");
pEntity->setDatabaseDefaults(pDb);
ads_printf("\nTest3 for addToModelSpace\n");
es = pBlockTable->close();
if (es != Acad::eOk)
acrx_abort("\nUnable to close block table");
ads_printf("\nTest1.1 for addToModelSpace\n");
es = pSpaceRecord->appendAcDbEntity(objId,pEntity);
ads_printf("\nTest1.2 for addToModelSpace\n");
if (es != Acad::eOk) {
delete pEntity;
return;
}
ads_printf("\nTest2 for addToModelSpace\n");
if (es != Acad::eOk)
acrx_abort("\nUnable to close block table record");
ads_printf("\nExit addToModelSpace\n");
return ;
}
我的派生类中有一个AcDbPolyline*的成员变量,会不会是这个原因造成的?
附件里是代码,哪位大牛有时间,烦请帮小弟看看,多谢了.! |
|