明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1061|回复: 3

求助帖—VB调用CAD总提示“部件忙”。附代码和问题截图。

[复制链接]
发表于 2014-12-30 21:45 | 显示全部楼层 |阅读模式
代码:
Dim AcadApp As AcadApplication
Private Sub Form_Load()
On Error Resume Next
Set AcadApp=GetObject(,"AutoCAD.Application")
If Err Then
MsgBox("不能运行AutoCAD2014,请检查是否安装了AutoCAD2014“)
Exit Sub
End if
AcadApp.visible=true
End Sub

问题截图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

为什么 总在起步阶段纠结,这样通用代码有的是! http://bbs.mjtd.com/thread-111783-1-1.html  发表于 2014-12-30 22:04
发表于 2014-12-31 14:57 | 显示全部楼层
估计CAD是在编辑状态
发表于 2019-10-18 20:06 | 显示全部楼层
本帖最后由 Kye 于 2019-10-18 20:20 编辑

多少年过去了,这个问题有解吗?一般是双击同一个命令(前一次点击还在运行)会产生这个问题
VB怎样取消后台的CAD正在执行的命令,达到在CAD里按ESC一样的效果  好像是同一个问题vb二次开发CAD, 如何不提示 "动作不能完成,因为部件[...]忙 这个是同一问题,现在问题是CAD本身操作可以 实现 如果一个命令没完成,如果进入下一个命令,则会取消上一个命令的所有操作.难道vb6控制做不到?

下面这个是黄老师的及不死猫大佬帖子中提到过,有些地方测试好像也不管用
  1. ;;;(sendkeys "{Esc 2}")
  2. (defun sendkeys        (keys)
  3. (or *WSH* (setq *WSH* (vlax-get-or-create-object "wscript.shell")))
  4.   (vlax-invoke-method *WSH* 'sendkeys keys)
  5.   (princ)
  6. )



利用App.PrevInstance防止同一程序执行多次 好像这个也不是用AutoCAD的 测试没通过

发表于 2023-12-8 18:42 | 显示全部楼层
是win10系统吗?
Dim AcadApp As AcadApplication
Private Sub Form_Load()
On Error Resume Next
Set AcadApp=GetObject(,"AutoCAD.Application.19.1")
If Err Then
MsgBox("不能运行AutoCAD2014,请检查是否安装了AutoCAD2014“)
Exit Sub
End if
AcadApp.visible=true
End Sub

这是我现在解决这个问题代码,win10需要加版本号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 15:02 , Processed in 0.333658 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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