laoliu09 发表于 2007-11-10 17:22:00

用命令调用宏的问题!谢谢指导!

本帖最后由 作者 于 2007-11-19 9:26:55 编辑 <br /><br /> <p>在acad2006doc.lsp中定义命令如下,想调用宏abc</p><p>(defun c:abc()<br/>&nbsp; (command "-vbarun" "abc")<br/>)</p><p>宏abc如下:</p><p>sub abc()</p><p>&nbsp;&nbsp;&nbsp; thisDrawing.Utility.Prompt vbCrLf &amp; "你好吗?"</p><p>end sub<br/>但在命令行中输入命令abc却怎么也显示不出这一句的信息,甚么原因呢!哪里定义出错了?谢谢!</p>

laoliu09 发表于 2007-11-17 10:14:00

<p>在acad2006doc.lsp中定义命令如下,想调用宏abc</p><p>(defun c:abc()<br/>&nbsp; (command "-vbarun" "abc")<br/>)</p><p>宏abc如下:</p><p>sub abc()</p><p>&nbsp;&nbsp;&nbsp; thisDrawing.Utility.Prompt vbCrLf &amp; "你好吗?"</p><p>end sub<br/>但在命令行中输入命令abc却怎么也显示不出这一句的信息,甚么原因呢!哪里定义出错了?谢谢!</p>

英雄无敌 发表于 2007-11-17 21:41:00

<p>我在2004下试了,第一种情况并没有出现,但第二种却也一样,从VBA中运行却是好的,可能是与VLISP有关,具体原因也不知道。</p><p>而且我用单步调试,它是运行了 thisDrawing.Utility.Prompt vbCrLf &amp; "你好吗?"这句话的,但不知道为什么就不显示</p><p></p>

chtd 发表于 2007-11-17 23:39:00

<p>我做的程序也是这样调用的,没出现过这种问题呀,试一下</p><p>(defun c:abc()<br/>&nbsp; (command "_-vbarun" "abc")<br/>)</p>

laoliu09 发表于 2007-11-18 10:02:00

本帖最后由 作者 于 2007-11-19 9:27:36 编辑

3楼的也遇到我的请况拉!说明我的遇到的情况是确实存在的!大家看看有解决办法不?

英雄无敌 发表于 2007-11-19 08:59:00

<p>但你如果这样,它又可以的</p><p>Sub abc()</p><p>&nbsp;&nbsp;&nbsp; Dim ent As AcadObject<br/>&nbsp;&nbsp;&nbsp; Dim pt As Variant<br/>&nbsp;&nbsp;&nbsp; ThisDrawing.Utility.GetEntity ent, pt, vbCrLf &amp; "拾取边线"</p><p>&nbsp;&nbsp;&nbsp; ThisDrawing.Utility.Prompt "你好吗?"</p><p>End Sub</p>

laoliu09 发表于 2007-11-19 09:26:00

回楼上的,是的,就是用命令调用的时候,如果你的宏第一句是ThisDrawing.Utility.Prompt "XXX" 的时候,它就显示不出来了,不知道是甚么问题!希望老大们解答一下啦,估计是一个很有意思的问题,继续讨论!

laoliu09 发表于 2007-11-21 08:52:00

二次开发史的难题啊,要热起来啊,大家讨论啊!热起来,有趣而超难的问题哦!

雪山飞狐_lzh 发表于 2008-1-2 16:33:00

用mccad的置顶的程序,而不要用vbarun命令
页: [1]
查看完整版本: 用命令调用宏的问题!谢谢指导!