查看单个帖子
旧 2009-05-05, 08:15 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】dwgdirect 1.12.04.00 crash

dwgdirect 1.12.04.00 crash
dwgdirect 1.12.04.00 crash
when i run the odreadex sample app on the attached data, it crashes.
i've built the app with vs.net 2003. the crash occurs on the debug build (and presumably release).
here's the output:
2export_cad.dwg
developed using dwgdirect, 1.12
load started ------------------------
meter limit: 1
load completed------------------------
progress: 100.00%
load started ------------------------
meter limit: 284
progress: 0.70%
progress: 1.41%
progress: 2.11%
progress: 2.82%
progress: 3.52%
progress: 4.23%
progress: 4.93%
assertion failed: rt==oddb::ksoftpointerref, file source\database\dwgfiler\in\ob
jectdwginstream.cpp, line 133
attached files
p.s. if problem ends up being specific to the odreadex project, please give solution here as i am using code from this project in my app.
the oddbblockbegin entity (handle 0x24) in the file contains a reference of invalid type (oddbblockbegin entity with handle 0x24). it is not a crucial point in this case, but in some other cases acad crashes on similar errors. dd loads this file correctly (and without asserts in release).
odreadex (debug version) is terminated by assert() function. to avoid crashes you can replace assert by using odsetassertfunc() (from diagnostics.h). for instance:
code:
void exassertstub(const odchar* /*expresssion*/, const odchar* /*filename*/, int /*nlineno*/)
{
}
// in your code after dd initialization:
odassertfunc poldassert = odsetassertfunc(exassertstub);
...
regards,
sergey vishnevetsky
thanks for the quick response.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)