高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】reading xref information
reading xref information
reading xref information
hi,
if we cannot currently bind() the xref, any work around to fully read the xref with r1.1201
the problem is as follows:
in release 1.1101 when an xref is resolved and loaded the xref's in-depth-blocks where appended as records into the oddbblocktable, but in release 1.1201 they do not show up in the blocktable and so we cannot get their information. but when we scan the resolved and loaded xref block itself, it contains oddbblockreference entities referencing to these missing blocks records.
same problem with the in-depth-textstyles from an xref, they are not appended to the tables as it was working in the previous release.
any idea for a work around (long or short) so we can read the xref in-depth-blocks, or textstyles.
thank you,
salleh diab
hi,
oddbblocktablerecord contains xrefdatabase() method to provide access to entries from external database.
regards,
sergey vishnevetsky
xref problem with r1.1201
dear sergey,
is taht mean we have now to handle the xref as a new database of its own and get its information on a separate loop?
is that also means that the oddbxrefman has now an undocumented re-design and it is gone forever?
do you have an example that was used in testing the new xrefdatabase()?
will xrefdatabase() has been tested and will it returns a valid pointer or it is also buggy?
this is realy a surprise for us in r1.1201 after oddbxrefman was working fine in r1.1101? and after we designed our software to work using oddbxrefman even without the buggy bind().
thank you in advance.
salleh diab
hi,
quote:
is taht mean we have now to handle the xref as a new database of its own and get its information on a separate loop?
since 1.12 version ddt places xref in a separate database which can be accessed through oddbblocktablerecord::xrefdatabase() method. also layers and related symbol records are redirected to a host database.
quote:
is that also means that the oddbxrefman has now an undocumented re-design and it is gone forever?
please note that "1.12 release notes" has mention about oddbxrefman redesigning.
quote:
do you have an example that was used in testing the new xrefdatabase()?
will xrefdatabase() has been tested and will it returns a valid pointer or it is also buggy?
you can add the next code in dbdumper::dumpblocks() method (examples\odreadex\dbdumper.cpp file) to dump content of xref database:
code:
if (pblock->isfromexternalreference())
{
oddbxrefman::reload(pblock, true, false);
oddbdatabase* pxrefdb = pblock->xrefdatabase();
if (pxrefdb)
{
os << ">>> database is from xref (start) <<<" <<std(endl);
os << "file version: " << pxrefdb->originalfileversion() << std(endl);
dbdumper dumperxref;
dumperxref.dump(pxrefdb, pxrefdb->appservices(), os);
os << ">>> database is from xref (end) <<<" << std(endl);
}
}
quote:
this is realy a surprise for us in r1.1201 after oddbxrefman was working fine in r1.1101? and after we designed our software to work using oddbxrefman even without the buggy bind().
i'm sorry to hear that we've made problems for you, but previous ddt versions had only temporary implementation of xref loading (simple inserting). it caused many problems and we had to redesign it.
regards,
sergey vishnevetsky
thank you.
|