![]() |
【转帖】error opening some 20002004 files
error opening some 2000/2004 files
error opening some 2000/2004 files we recently upgraded from dgwdirect c++ (using visual studio 6) from 2.5 to 2.6, and we found that some dwg files 2000 and 2004 failed to import. to isolate the error, we tried to open them using the odamfcapp, and in the one using the dlls 2_05_06 it worked fine. when using the newer application, with the dlls 2_06_6 it showed a dialog box with the title of "assetion failed" and the next information: expression "offset >= 0" file: source\database\dwgfiler\dwgstream.cpp line: 158 if we press ignore, it will stop with another dialog box "out of range". i am not including the files in this moment, since they are from a customer and i need clearance from them, but maybe this is enough information to find the problem. if i get permission, i will include a zip with the original 2008 file (that work fine) and the 2000/2004 that doesn't. thanks edit: this is what the call stack window shows about the error in visual studio: ntdll! 7c901230() odassert(const char * 0x022d9084 `string', const char * 0x022d8d2c `string', int 158) line 79 + 20 bytes oddwgstream::seek(long -7, oddb::filerseektype kseekfromstart) line 158 + 32 bytes oddwgr21filesplitstream::readstrdatalength(oddwgst ream * 0x0012e1cc, unsigned long & 4294967289, unsigned long & 0) line 560 + 21 bytes oddwgr21filesplitstream::extractstrdata(odbitbinar ydata & {...}, odbitbinarydata & {...}) line 579 + 17 bytes odproxystuff::composeforload(oddbobject * 0x06933ee0, oddb::savetype kdwg, oddb::dwgversion kdhl_1015) line 726 + 19 bytes oddbproxyobjectimpl::composeforload(oddbobject * 0x06933ee0, oddb::savetype kdwg, oddb::dwgversion kdhl_1015) line 148 oddwgfileloader::loadobjectdata(oddwgfilesplitstre am & {...}, odsmartptr<oddbobject> & {...}) line 512 + 47 bytes oddwgfileloader::loadobject(oddwgfilesplitstream & {...}, unsigned __int64 1726392) line 383 oddwgfileloader::loadobject(unsigned __int64 1726392) line 337 + 24 bytes odobjloadresolver::queryx(const odrxclass * 0x03354780) line 44 + 27 bytes oddbobject::cast(const odrxobject * 0x05d39620) line 203 + 58 bytes oddbobjectid::openobject(oddb::openmode kforread, unsigned char 0) line 101 + 27 bytes oddwgfileloader::enddbloading() line 684 + 16 bytes oddbdatabase::closeinput() line 622 + 30 bytes oddbdatabase::readfile(odstreambuf * 0x0339f8d0, unsigned char 0, oddbauditinfo * 0x00000000, const odstring & {...}, unsigned char 0) line 526 oddbhostappservices::readfile(odstreambuf * 0x0339f8d0, unsigned char 0, unsigned char 0, const odstring & {...}) line 428 odamfcappdll! 004812f7() odamfcappdll! 004811b8() odamfcappdll! 004b1cad() odamfcappdll! 004b5a06() cmultidoctemplate::opendocumentfile(const unsigned short * 0x0012f280, int 1) line 162 + 15 bytes last edited by miguelc; 8th august 2008 at 07:06 amfff">. reason: add debug information |
所有的时间均为北京时间。 现在的时间是 03:42 PM. |