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:

penobject(oddb:

penmode 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:

pendocumentfile(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