明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1860|回复: 6

vl中是否有类似undo的命令

[复制链接]
发表于 2005-7-8 11:30:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2005-7-10 12:56:43 编辑

想编一个程序,其中有一部分要实现以下功能

1. 检查dbmod,若为0,则跳过第2步,执行第3步
2. 若dbmod不为零,则undo至最近一次保存的状态
3. 执行程序

请问第2步应该用什么程序实现.如果可以的话,请给出简单范例.
谢谢
小弟编了一个vl反应器
想在反应器回调函数中实现undo功能
但是vl反应器中不能使用(command....) 和 (vl-cmdf....)
所以不能直接使用undo 请高手给点提示
vl中是否有类似undo功能的命令. btw:为什么vl有vla-startundomark 和 vla-endundomark,却没有Undo...
发表于 2005-7-8 11:43:00 | 显示全部楼层
我認為你的程序不應該向UNDO打主意. 這樣不好


你應該把你的程序的使用條件列清楚, 在什麼情況使用什麼方法.


不要用UNDO來取消程序內部的動作, 我覺的這樣子是不規範的.
 楼主| 发表于 2005-7-8 12:00:00 | 显示全部楼层
第三步只希望对最近一次保存的状态进行操作


请问应该怎样做比较规范?


谢谢
发表于 2005-7-8 14:35:00 | 显示全部楼层
这样就不用在程序里头用UNDO 了 (IF (= dbmod 0)
(PROGN 把UNDO的内容写在这里)
)
接下运行你第三步的东东
 楼主| 发表于 2005-7-8 21:43:00 | 显示全部楼层

谢谢大哥回答阿 不过我的问题是:在if()内部运行undo如何判断已经到达了最近一次保存的状态?我试了一下,运行undo并不能把dbmod变回去,也就是说即使我undo回到了最近一次保存的状态,dbmod仍然不为0

发表于 2005-7-9 23:06:00 | 显示全部楼层
呵,函数值好象对UNDO不感冒吧
 楼主| 发表于 2005-7-10 12:50:00 | 显示全部楼层
是啊,dbmod对undo不感冒 现在的问题是 小弟编了一个vl反应器
想在反应器回调函数中实现undo功能
但是vl反应器中不能使用(command....) 和 (vl-cmdf....)
所以不能直接使用undo 请高手给点提示
vl中是否有类似undo功能的命令. btw:为什么vl有vla-startundomark 和 vla-endundomark,却没有Undo...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 17:52 , Processed in 0.195868 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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