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

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

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

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

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

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

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

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

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

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


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

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

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

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]
查看完整版本: 用命令调用宏的问题!谢谢指导!