- 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*的成员变量,会不会是这个原因造成的?  
附件里是代码,哪位大牛有时间,烦请帮小弟看看,多谢了.! |   
 
 
 
 |