几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】oddbdatabasereadfile9odstreambuf0 problems (http://www.dimcax.com/hust/showthread.php?t=17494)

yang686526 2009-05-06 07:31 PM

【转帖】oddbdatabasereadfile9odstreambuf0 problems
 
oddbdatabase::readfile(odstreambuf*) problems
oddbdatabase::readfile(odstreambuf*) problems
hi,
i'm getting an odd error at runtime and thought to ask here about it.
basically, i'm trying to load a dwg file from a stream, but i'm getting a "debug assertion failed!" on source\odstreambuf.cpp line 55. i'm running under winxp with ms vs 2005 and do not have access to the cpp file mentioned. here's the code.
int f = openfile(filename, &of, of_read);
oduint8array buffer;
buffer.resize(392806); // yes, the file is exactly this many bytes
_lread(f, (char*)buffer.asarrayptr(), buffer.size());
odstreambufptr odfstream = odflatmemstream::createnew(buffer.asarrayptr(), buffer.size());
oddbdatabaseptr pdb;
pdb = svcs.createdatabase(false);
pdb->readfile(odfstream);
any ideas? thanks!
- albert
last edited by jpalo@snowbound.com; 17th september 2008 at 01:40 pmfff">.

hi,
i found an answer via:
it works, but is there a more elegant solution? this can't be the right way to do it.
albert
last edited by jpalo@snowbound.com; 17th september 2008 at 01:40 pmfff">.
while loading dwg filename() is required to return it from oddbdatabase:riginalfilename().
so you need to provide memory stream inheritor and take care about the file name.


所有的时间均为北京时间。 现在的时间是 12:06 AM.