乐筑天下

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

在命令处于活动状态时处理文档更改事件的最佳方法是什么?

[复制链接]

85

主题

404

帖子

7

银币

中流砥柱

Rank: 25

铜币
751
发表于 2018-11-20 22:19:54 | 显示全部楼层 |阅读模式
今天注意到,如果用户在我的一个命令处于活动状态时切换活动绘图,则会出现 eLock 冲突。
测试AutoCAD的内置命令时,它们无法一致地处理开关。折线命令仅在最后一点结束,而 insert 命令将禁用切换活动图形。
处理这个问题的最佳方法是什么?
我喜欢将活动绘图锁定到当前绘图的想法,但不确定通过.NET API实现该方法的最佳方法。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

16

主题

506

帖子

6

银币

中流砥柱

Rank: 25

铜币
570
发表于 2018-11-21 10:05:58 | 显示全部楼层
我喜欢dotSmack方法。在切换文档之前给用户一个没有完成活动命令的耳光。最终他们会得到提示,有点像不把手指关在门上。
回复

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2018-11-21 10:21:10 | 显示全部楼层
AutoCAD 2015引入了这一重大变化:切换活动文档取消了大多数活动命令,因为删除了“光纤”属性(当然,许多现有的自定义CAD应用程序,无论是LISP/VBA/.NET,都在那时被破坏)。如果自定义命令具有会话标志,则文档切换可能会取消该命令,也可能不会取消,具体取决于该命令的功能
我为Acad2015之前的版本编写了一些项目,在迁移到Acad2015或更高版本时出现了问题,必须修复它们。在我的例子中,有一个场景是:在命令执行期间,用户需要转到另一个图形来拾取某些内容,然后返回继续。我在博客中讨论过:
https://drive-cad-with-code.blogspot.com/2017/04/asking-user-to-select-entity-in-other.html
这是一个很好的例子https://drive-cad-with-code.blogspot.com/2017/04/asking-user-to-select-entity-in-other_4.html
这是一个很好的例子
回复

使用道具 举报

85

主题

404

帖子

7

银币

中流砥柱

Rank: 25

铜币
751
发表于 2018-11-26 17:08:39 | 显示全部楼层
德格斯曼,我很喜欢这种“点击”方法!尽管在对象浏览器中工作了数小时,我仍然无法找到实现user.smack(trout)的dll。有线索吗?
感谢Norman的帖子,有趣的是您让用户在命令中切换文档。这是一个很酷的方法
问题在于,在取消PromptResult后重置图层时,我丢失了一个documentlock。不知道为什么我通过esc退出时没有抛出错误。也许文档开关在命令完成之前杀死了命令的文档锁?不确定,但至少我知道如何修复它。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 08:12 , Processed in 0.194091 second(s), 60 queries .

© 2020-2025 乐筑天下

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