xazjm_cn 发表于 2011-5-18 11:51:51

ObjectArx通过无模式对话框得到实体的属性

我做了一个无模式对话框,有一个“拾取”按钮,点击这个按钮,执行以下函数,控制权到AutoCAD,拾取一个直线实体,得到该实体的一些属性,但是AutoCAD马上就崩溃了,出现“致命错误:Unhandled Access Violation Reading 0x0000 Exception at 52760cfh”。而且执行到 pEntity->setColorIndex(200);也同样崩溃。请教大师们指导,非常感谢!!但是我用模式对话框的时候就不会导致AutoCad崩溃。
void CCad2NcDialog::OnBnClickedButtonPick()
{
acedGetAcadDwgView()->SetFocus();
ads_name entName;
ads_point pt;
AcGePoint3d ptStart,ptEnd,ptCenter;
int errNo=0;
//获取一个实体
   do{
          errNo = acedEntSel(_T("\n请拾取要转换为G代码的实体:"),entName,pt);
          if(errNo == RTNORM)
          {
               //获取选择对象的指针,entityId是一个全局的ID号变量
             Acad::ErrorStatus es=acdbGetObjectId(entityId,en);
             if(es != Acad::eOk) return FALSE;
             AcDbEntity *pEntity;
            es = acdbOpenAcDbEntity(pEntity,entityId,AcDb::kForWrite);
            //改变实体的颜色
            // pEntity->setColorIndex(200);
             //判断选择的对象是否是圆弧
             if((!pEntity->isKindOf(AcDbArc::desc())) && (!pEntity->isKindOf(AcDbLine::desc())))
             {
            pEntity->close();
            return FALSE;
             }
          }
   }while(TRUE);
}

xazjm_cn 发表于 2011-5-18 14:48:46

问题已解决!

bluelightcsy 发表于 2011-5-18 17:02:19

不说一下,怎么解决的?你的代码怎么没有BeginEditCommand??

小小品客 发表于 2011-5-19 17:24:38

null

没锁定距图形吧???
页: [1]
查看完整版本: ObjectArx通过无模式对话框得到实体的属性