liu_kunlun 发表于 2006-4-30 19:30:00

请高手帮看一下关于XDATA的问题

<P>我试用activex给实体添加扩展数据,显示如下:</P>
<P>; 错误: AutoCAD.Application: 参数 type (位于 SetXData method 中) 无效</P>
<P>我试验的程序为:</P>
<P>(setq xdtp&nbsp; (vlax-make-safearray vlax-vbVariant '(0 . 1)));;构造xdatatytpe<BR>&nbsp;(setq v_xdtp (list 1001 1000))<BR>&nbsp;(vlax-safearray-fill xdtp v_xdtp )<BR>&nbsp;<BR>&nbsp;(setq xd&nbsp; (vlax-make-safearray vlax-vbVariant '(0 . 1)));;构造xdata<BR>&nbsp;(setq v_xd (list "LKL_BG" "a"))<BR>&nbsp;(vlax-safearray-fill xd v_xd )<BR>&nbsp;<BR>&nbsp;(vlax-invoke (vlax-ename-&gt;vla-object (car (entsel))) 'SetXData xdtp xd)</P>
<P>其中"LKL_BG"是已经通过autolisp登记过的扩展数据应用程序名,请高手指教,看问题出在什么地方?</P>

xxsheng 发表于 2006-4-30 20:59:00

<P>(setq xdtp&nbsp; (vlax-make-safearray vlax-vbVariant '(0 . 1)));;</P>
<P>(setq xdtp&nbsp; (vlax-make-safearray vlax-vbInteger &nbsp;'(0 . 1)));;</P>

龙龙仔 发表于 2006-5-2 15:48:00

;;(regapp "LKL_BG")<BR>(setq XDTP (vlax-make-safearray vlax-vbinteger '(0 . 1)))<BR>;;构造xdatatytpe<BR>(setq V_XDTP (list 1001 1000))<BR>(vlax-safearray-fill XDTP V_XDTP)<BR>(setq XD (vlax-make-safearray vlax-vbvariant '(0 . 1)))<BR>;;构造xdata<BR>(setq V_XD (list "LKL_BG" "A"))<BR>(vlax-safearray-fill XD V_XD)<BR>(vlax-invoke-method<BR>&nbsp; (vlax-ename-&gt;vla-object (car (entsel)))<BR>&nbsp; 'SETXDATA<BR>&nbsp; XDTP<BR>&nbsp; XD<BR>)<BR>
页: [1]
查看完整版本: 请高手帮看一下关于XDATA的问题