boaosun 发表于 2005-1-20 11:18:00

三维实体的内存问题??

用Solid1->createBox(1000,1000,1000);则delete Solid1可以很干净地释放内存
而用Solid1->ExtrudeAlongPath(Rgn,Curve);则delete Solid1只释放了一部分内存,该如何做?
============代码如下============
if (AcDbRegion::createFromCurves(SegArr,RgnArr)!=Acad::eOk)
{ for (i=0;iExtrudeAlongPath(Rgn,Curve);               //............这一句是不是有内存泄漏
//Solid1->CreateBox(1000,1000,1000);                                                //............这一句不存在泄漏
delete Solid1;
for (i=0;i<SegArr.length();i++) delete (AcRxObject*)SegArr;
for (i=0;i<RgnArr.length();i++) delete (AcRxObject*)RgnArr;

树袋熊 发表于 2005-1-21 18:12:00

Unfortunately, there is no way to force this memory to be freed.
For solids, the underlying geometric data object is controlled by the
ASM (formerly ACIS) which does its own memory management regardless of
AcDbDatabase residency.

boaosun 发表于 2005-1-22 13:19:00

用以下函数也不能解决内存问题
acdbModelerStart();
acdbModelerEnd();
acdbAcisDeleteModelerBulletins();
不知各位高手还有什么高见??
页: [1]
查看完整版本: 三维实体的内存问题??