几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】pure virtual call after exiting dwgdirect 1.12.1 (http://www.dimcax.com/hust/showthread.php?t=18259)

yang686526 2009-05-07 11:59 AM

【转帖】pure virtual call after exiting dwgdirect 1.12.1
 
pure virtual call after exiting dwgdirect 1.12.1
pure virtual call after exiting dwgdirect 1.12.1
hi,
after tons of headaches i suuceded to migrate from dwgdirect 1.10.1 to dwgdirect 1.12.1. it is used as a dll version (not statically linked). it is used from a dll, not in an exe. i open a drawing with a single oddbsolid object and the modeler module is loaded. then when exiting the application, a "pure virtual function" error occurs. it occurs at the oduninitialize() function call.
the problem does not happen if the modeler module is not loaded. i'm a founding member, so i have the source code, so can give to someone from dwgdirect the full call stack and source place, where the problem occurs.
thank you very much for any help
best regards
chudomir
the reason of "pure virtual function call" is usually incorrect order of invoking static objects destructors (virtual function of already destroyed object is called).
this may happen if by the moment of calling oduninitialize() some smart pointer holds a database object.
or if oduninitialize() is called in some your static object destructor (by that moment some other dd static object destructors may be already called).
sergey slezkin


所有的时间均为北京时间。 现在的时间是 09:39 PM.