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

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

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

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

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

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

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

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

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