benjamin0624 发表于 2008-5-23 23:14:00

扩展数据(XRecrod)中保存 实体的句柄, 怎么操作?

这里有一段代码, 就是想把 两个实体句柄值写入某实体的XRecord数据中.
(handlePrev 与 handleNext 是用 AcDbEntity::getAcDbHandle(&) 获得的)
.......麻烦大家看下这一段, 我真的看不出来有什么问题了, 唉, 我ARX知识太少了...
我想问的问题是: 图元(实体)的句柄在 对应DXF组中哪个值;下面的的代码运行acutBuildList也是OK的, 怎么到setFromRbChain就出问题了.
pXrec指针也是有效的......烦人啊
struct resbuf* pRb;
pRb = acutBuildList(AcDb::kDxfHandle, handlePrev,    AcDb::kDxfHandle, handleNext,RTNONE);   //这样写, DXF组用 kDxfHandle
if (pRb == NULL)   //得到pRb也不为空
{
return;
}
Acad::ErrorStatus es = pXrec->setFromRbChain(*pRb);   //为什么一到这里运行就出错???
if (es != Acad::eOk)
{
return;
}
pXrec->close();
acutRelRb(pRb);

benjamin0624 发表于 2008-5-26 00:49:00

真的没一个人知道吗? AcDbHandle 写入 XRecord 对应哪个 DXF组, 大家没有经历这方面吗?
拜托, 我弄了好久了, 还是搞不出来, 试了各种 handle, 都不行.AcDbHandle 是64bit数据,
DXF中有kDxfInt32, 也没有kDxfInt64啊, 哪个组码对应64位数值呢? 晕了.

benjamin0624 发表于 2008-5-27 23:15:00

好了,我把 无符号64位整型分解成无符号32位整型, 然后以字符写入;
读出时将字符转为无符号32位整型, 再合并成无符号64位.
我不知道有没有标准的字符转64位整型数的函数, 有的话, 有哪位兄弟知道呢? 这样我就不须分解成32位数据了.
是不是DXF组码中没有无符号64位数据代表类型?

alfalfa 发表于 2008-6-4 21:37:00

请问 Acad::ErrorStatus es = pXrec->setFromRbChain(*pRb);   的错误返回值是多少?
也许你可以试一下 kDxfArbHandle!
页: [1]
查看完整版本: 扩展数据(XRecrod)中保存 实体的句柄, 怎么操作?