风树 发表于 2012-11-21 12:23:49

关于AcDbRegion类的问题

系统:win7
平台:vs2010+arx2012
简化后的问题:
                        1、确保输入了一个正确的闭合的 AcDbCurve * line(已获得资源)
                        ...............
                        AcDbVoidPtrArray curveSegments, regions;
                        curveSegments.append(line);
                     //以下为问题代码
                        es=AcDbRegion::createFromCurves(curveSegments, regions);//症状:运行到这里几秒钟后cad异常崩溃;
                     //以上为问题代码
                        if (es != Acad::eOk)
                        {
                                acutPrintf(_T("\n创建临时区域对象失败!"));
                                int iCount= regions.length();
                                for(int i = 0; i < iCount; i++)        delete (AcDbRegion *)regions.at(i);
                                continue;
                        }
                        AcDbRegion * pRegion;
                        if ((iCount = regions.length()) == 0){
                                acutPrintf(_T("\n创建临时区域对象为空!"));
                                continue;
                        }
                        .................


                     请问什么情况??
                      cad也试过重装了,有什么原因导致这种情况???
                     想不同啊?
                      请帮忙分析 一下

sunny20102 发表于 2012-11-23 14:00:01

试下将 curveSegments.append(line);改为: curveSegments.append(static_cast<void*>(line));我是初学者,明经的这个板块比较冷清

风树 发表于 2012-12-3 19:46:51

sunny20102 发表于 2012-11-23 14:00 static/image/common/back.gif
试下将改为:我是初学者,明经的这个板块比较冷清

谢谢你的回复,问题解决了,原来输入的对象只能以read的形式打开,如果以write形式打开,那么cad直接挂掉
页: [1]
查看完整版本: 关于AcDbRegion类的问题