oyxx1023 发表于 2007-8-13 12:53:00
源程序都出来了,不顶不行.我顶!oyxx1023 发表于 2007-8-13 13:01:00
把VBS换成JS可以么?飞诗(fsxm) 发表于 2007-8-13 20:42:00
<p>如果支持wscript.CreateObject就明显的用到了wscript.exe</p><p>也就是说狂刀兄至少有一部分代码</p><p>是写出为vbs文件后再用(startapp "wscript.exe" ..vbs)方式运行的!</p><p>不知道说对了没有!</p>i-Stone 发表于 2007-8-13 20:46:00
这种方式的返回值LSP收得到吗?飞诗(fsxm) 发表于 2007-8-13 20:53:00
<p>晕倒!~当然可以收的到啦!</p><p>如果你没有忘记还有一个<font color="#ff0000">vl.application</font>对象!去VBA版板看看吧!</p><p>不过我看刀兄是对不要返回值的才用的wscript哦!</p><p>测试很简单!试试wscript.exe运行的msgbox是不是独立于autocad运行的!</p>无痕 发表于 2007-8-13 22:31:00
本帖最后由 作者 于 2007-8-14 1:52:50 编辑 <br /><br /> <p>1.没有用到 wscript.exe,也没有写*.vbs</p><p>程序里面加一句: (xxexpr "[ =]wscript\\." str " " "m")</p><p>就是在把 "wscript." 替换为 " ".</p><p>2.如果要支持js, 就把 (vlax-put-property *wsc "language" "vbs")改一下(目前的版本还未开通,但是只要加两行代码基本就可以了)</p><p>或可以考虑写一个*.js文件,然后执行之.其实这个方式是最原汁原味的移植,可以说基本没有限制,如果运行有问题,那就是原程序有问题.打算今晚就写这个版本.不过这样的话,可能不同步.返回值成问题.估计是这样,先试试看...</p><p>3.本版程序有返回值,如果不支持返回值,那么移植就意义不大.</p><p>4.对于注解,我编写的时候一直没把注解当回事.并没有专门处理.不知道龙龙仔为什么试不通.请看:</p><p>(setq *wsc (vla-GetInterfaceObject(vlax-get-acad-object)"ScriptControl"))<br/>(vlax-put-property *wsc "language" "vbs")<br/>(vlax-invoke *wsc 'ExecuteStatement "a = \"测试\" '注解")<br/>(vla-eval *wsc "msgbox (a) '测试注解")<br/>或:<br/>(vlax-invoke *wsc 'ExecuteStatement "msgbox a '注解")</p><p>均运行正常.</p>无痕 发表于 2007-8-14 01:59:00
<p>上面*wsc改为(setq *wsc (vlax-create-object "ScriptControl"))同样返回正常.</p><p>不会是把注解的符号 '("键) 写成了`(~键)吧?</p>cag 发表于 2007-8-14 16:24:00
呵,太精彩了i-Stone 发表于 2007-8-14 19:47:00
JS版的出来没有啊.龙龙仔 发表于 2007-8-15 12:55:00
<strong><font face="Verdana" color="#da2549">无痕在26樓把程序都寫出來了!</font></strong>