明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1751|回复: 8

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

[复制链接]
发表于 2007-11-10 17:22:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-11-19 9:26:55 编辑

在acad2006doc.lsp中定义命令如下,想调用宏abc

(defun c:abc()
  (command "-vbarun" "abc")
)

宏abc如下:

sub abc()

    thisDrawing.Utility.Prompt vbCrLf & "你好吗?"

end sub
但在命令行中输入命令abc却怎么也显示不出这一句的信息,甚么原因呢!哪里定义出错了?谢谢!

 楼主| 发表于 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 & "你好吗?"这句话的,但不知道为什么就不显示

发表于 2007-11-17 23:39:00 | 显示全部楼层

我做的程序也是这样调用的,没出现过这种问题呀,试一下

(defun c:abc()
  (command "_-vbarun" "abc")
)

 楼主| 发表于 2007-11-18 10:02:00 | 显示全部楼层
本帖最后由 作者 于 2007-11-19 9:27:36 编辑

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

 楼主| 发表于 2007-11-19 09:26:00 | 显示全部楼层
回楼上的,是的,就是用命令调用的时候,如果你的宏第一句是ThisDrawing.Utility.Prompt "XXX" 的时候,它就显示不出来了,不知道是甚么问题!希望老大们解答一下啦,估计是一个很有意思的问题,继续讨论!
 楼主| 发表于 2007-11-21 08:52:00 | 显示全部楼层
二次开发史的难题啊,要热起来啊,大家讨论啊!热起来,有趣而超难的问题哦!
发表于 2008-1-2 16:33:00 | 显示全部楼层
用mccad的置顶的程序,而不要用vbarun命令
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 10:32 , Processed in 0.183931 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表