扩展数据(XRecrod)中保存 实体的句柄, 怎么操作?
<p>这里有一段代码, 就是想把 两个实体句柄值写入某实体的XRecord数据中.</p><p>(handlePrev 与 handleNext 是用 AcDbEntity::getAcDbHandle(&) 获得的) </p><p>.......麻烦大家看下这一段, 我真的看不出来有什么问题了, 唉, 我ARX知识太少了...</p><p>我想问的问题是: 图元(实体)的句柄在 对应DXF组中哪个值; 下面的的代码运行acutBuildList也是OK的, 怎么到setFromRbChain就出问题了.</p><p>pXrec指针也是有效的......烦人啊</p><p>struct resbuf* pRb;<br/> pRb = acutBuildList(AcDb::kDxfHandle, handlePrev, AcDb::kDxfHandle, handleNext, RTNONE); //这样写, DXF组用 kDxfHandle<br/> if (pRb == NULL) //得到pRb也不为空<br/> {<br/> return;<br/> }</p><p> Acad::ErrorStatus es = pXrec->setFromRbChain(*pRb); //为什么一到这里运行就出错???<br/> if (es != Acad::eOk)<br/> {<br/> return;<br/> }</p><p> pXrec->close();<br/> acutRelRb(pRb);</p> <p>真的没一个人知道吗? AcDbHandle 写入 XRecord 对应哪个 DXF组, 大家没有经历这方面吗?</p><p>拜托, 我弄了好久了, 还是搞不出来, 试了各种 handle, 都不行.AcDbHandle 是64bit数据,</p><p>DXF中有kDxfInt32, 也没有kDxfInt64啊, 哪个组码对应64位数值呢? 晕了.</p> <p>好了,我把 无符号64位整型分解成无符号32位整型, 然后以字符写入;</p><p>读出时将字符转为无符号32位整型, 再合并成无符号64位.</p><p>我不知道有没有标准的字符转64位整型数的函数, 有的话, 有哪位兄弟知道呢? 这样我就不须分解成32位数据了.</p><p>是不是DXF组码中没有无符号64位数据代表类型?</p> <p>请问 Acad::ErrorStatus es = pXrec->setFromRbChain(*pRb); 的错误返回值是多少?</p><p>也许你可以试一下 kDxfArbHandle!</p>
页:
[1]