乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 240|回复: 14

关闭AutoCAD时的事件

[复制链接]

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-23 17:02:33 | 显示全部楼层 |阅读模式
当有人想在结束绘图时启动某项操作时,他可以使用“中的共同响应事件”;本图纸;然而,I'当整个程序关闭时,需要编写一些东西。那么,在关闭AutoCAD时是否有类似的事件?
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-23 19:30:05 | 显示全部楼层
来自acad activex帮助的所有信息
  1. Public WithEvents ACADApp As AcadApplication    ' Use with Application Event Examples
  2. Sub Example_AcadApplication_Events()
  3.     ' This example intializes the public variable (ACADApp) which will be used
  4.     ' to intercept AcadApplication Events
  5.     '
  6.     ' The VBA WithEvents statement makes it possible to intercept an generic object
  7.     ' with the events associated with that object.
  8.     '
  9.     ' Before you will be able to trigger any of the AcadApplication events,
  10.     ' you will first need to run this procedure.
  11.    
  12.     ' We could get the application from the ThisDocument object, but that would
  13.     ' require having a drawing open, so we grab it from the system.
  14.     Set ACADApp = GetObject(, "AutoCAD.Application.16")
  15. End Sub
  16. Private Sub ACADApp_BeginQuit(Cancel As Boolean)
  17.     ' This example intercepts an Application BeginQuit event.
  18.     '
  19.     ' This event is triggered when AutoCAD receives a request to shut down.
  20.     '
  21.     ' To trigger this example event:
  22.     '     1) Make sure to run the example that initializes
  23.     '     the public variable (named ACADApp) linked to this event.
  24.     '
  25.     '     2) Close the AutoCAD application
  26.     ' Use the "Cancel" variable to stop the shut down of the application
  27.     If MsgBox("AutoCAD is about to shut down.  Do you want to continue with the shutdown?", vbYesNoCancel + vbQuestion)  vbYes Then
  28.         Cancel = True
  29.     End If
  30. End Sub

回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-24 01:04:48 | 显示全部楼层
我承认我没有'我不理解MsgBox的用法,但谢谢;我要试试看!
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-24 01:52:27 | 显示全部楼层

我只是想证明事件可以被捕获,并且陷阱的返回值决定应用程序是否关闭
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-24 11:07:00 | 显示全部楼层
我们有同样的想象力,克里
克里现在将消失三个小时,因为他's蜷缩在一个角落里,以胎儿的姿势,抱着他的小弟弟,问宇宙:“我不知道。”;为什么&引用;
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-28 16:15:05 | 显示全部楼层
你能再帮我一点忙吗?我使用了代码,但我没有#039;我什么都做不了。顺便说一句,我意识到
  1. Public WithEvents ACADApp As AcadApplication
必须将其放置在类模块中。我还添加了其他两个子模块,但当我关闭AutoCAD时,什么都没有发生…
实际上,我要做的是在AutoCAD关闭时删除一个临时文件。你能(再次)帮我吗?
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-28 23:20:45 | 显示全部楼层
你可以把所有的代码放到这个绘图模块中,这个模块是IIRC类模块
我的第一个建议是在cod的第一条线上设置一个断点。关闭autocad 如果事件被触发,yousub将在第一行运行并停止 您可以使用F8逐行遍历代码,注意结果,看看是否可以解决问题
我的零级假设是,你需要摆脱错误恢复的next,这样你的例程就可以在何时以何种方式中断'如果可以的话,应该是这样的;t找出你的问题,发布你的代码,这样我们就可以玩家庭游戏了。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-29 01:35:29 | 显示全部楼层
我把所有的代码都放在这个绘图模块中,在第一行上做了一个标记(设置ACADApp=……),但仍然什么都没有……这是我的全部代码:
  1. Public WithEvents ACADApp As AcadApplication
  2. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  3. Sub Example_AcadApplication_Events()
  4.     Set ACADApp = GetObject(, "AutoCAD.Application.16")
  5. End Sub
  6. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  7. Private Sub ACADApp_BeginQuit(Cancel As Boolean)
  8.     '
  9.     MySubmarine
  10.     '
  11.     If MsgBox("AutoCAD is about to shut down.  Do you want to continue with the shutdown?", vbYesNoCancel + vbQuestion)  vbYes Then
  12.         Cancel = True
  13.     End If
  14. End Sub
  15. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  16. Private Sub MySubmarine()
  17.     Kill "c:\MyDamnStupidFile.txt"
  18. End Sub
顺便问一下.16代码是做什么的?
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-29 04:49:53 | 显示全部楼层

。16是AC2004,在yoy使用不同版本的情况下,有几种方法可以错误捕获此错误。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2007-10-29 07:32:14 | 显示全部楼层
看一下16版的dxf系统变量ACADVER。它们应该是:AC1018 AutoCAD 2004/2005/2006;J#039~
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 08:21 , Processed in 1.209046 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表