查看单个帖子
旧 2009-05-05, 11:30 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】getting null from xrefdatabase90

getting null from xrefdatabase()
getting null from xrefdatabase()
hi there,
i am having a problem regarding loading xref database. the function xrefdatabase() returns null. my code is like this:
....
oddbblocktablerecordptr pblock = pref->blocktablerecord().safeopenobject();
if (pblock->isfromexternalreference())
{
strcpy(xrefname, pblock->pathname());
oddbxrefman::reloadall(pdb);
oddbdatabaseptr pdbxref = pblock->xrefdatabase();
}
....
i can see xrefname is correct, but pdbxref is null.
any idea about this?
thank you,
al
i don't see much documentation on the xrefdatabase function. not sure what it returns. what are you expecting it to return?
if it is built to mimic arx, here is what arx says it should do.
------
this function returns a pointer to the acdbdatabase that defines this block table record’s contents. if incunres is true, then a pointer will be returned, even if the xref block table record is currently unresolved (for reasons other than that the xref drawing file could not be found).
returns null if the block table record is not part of an xref, or if the crossreferenced drawing file was not found when the drawing was loaded.
-----
if the reference exists, then you might try passing true to the xrefdatabase function. i am not sure what paths dwgdirect uses to search for xrefs.
last edited by dave_; 1st september 2004 at 07:36 amfff">.
currently xrefdatabase() in dd always returns null even if xref was found and loaded. actually xref contents is inserted into xref block of root database.
this will be fixed in 1.12
sergey slezkin
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)