查看单个帖子
旧 2009-04-16, 03:15 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】[求助]反复执行偏移操作时出现的错误,百思不得其解,请大家帮忙解惑!

[求助]反复执行偏移操作时出现的错误,百思不得其解,请大家帮忙解惑!
[求助]反复执行偏移操作时出现的错误,百思不得其解,请大家帮忙解惑!
不断进行偏移操作,大概12次左右(次数要看偏移对象尺寸)出现如下错误,百思不得其解!肯定大家帮忙解惑!
执行到该句时:
ppolyline->getoffsetcurves(offsetdist,offsetcurves);
检查到此时ppolyline为非空!
弹出对话框:
acad.exe 中的 0x0a7a9f05 (1dxfwork.arx) 处未处理的异常:0xc0000005: 读取位置 0x000ac130 时发生访问冲突 。
光标停在:
atlsimpstr.h中的
struct cstringdata
{
...
...
void release() throw()
{
atlassert( nrefs != 0 );
if( _interlockeddecrement( &nrefs ) <= 0 )
{
pstringmgr->free( this ); //停于此处
}
}
...
...
开发环境是 vc2 + objectarx5 + autcacad5
程序以前是用objectarx0编写的,在acad0下没什么问题,升级后,就有这种问题了
问题解决了,过程如下:

问题解决了,大概是内存溢出什么问题吧
问题不在偏移,而在定义了一个cstring类型的数据,反复进行操作,一直没有释放releasebuffer,后来都改用char*, 让c++自己去管理,就没事了。
这种问题真是……
晓东cad家园的masterhe 斑竹说:
这是vc++7.0的bug,需要安装sp1
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)