找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 872|回复: 4

[试用]:终极Visual LISP对话框程序生成器 MVLT2003

[复制链接]
发表于 2002-11-20 20:39:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
想使你的编程工作成为程序化、数据库化的过程吗?

想非常简单而且迅速地给你的应用程序加一个漂亮的对话框吗?

想编一个拥有漂亮的对话框界面的“专业” Visual LISP应用软件吗?

这或许是你的答案:终极Visual LISP对话框程序生成器 MVLT2003


MVLT的整体设计思想分两大部分:首先是读取指定的DCL文件源代码并收集其中定义的所有控件的Key值,MVLT将通过这些Key值来实现对相应控件的访问控制。对于读取的DCL文件,要求其不可以是被加密的,其源代码格式应尽量工整(详细请参考AutoCAD的有关文档),否则程序无法正常解析出所有控件。由于在进行文件的读取以及字符串的处理上Visual LISP没有设么优势,所以这些维护的工作需要用户小心处理。作为智能化的过程模拟,MVLT2003可以处理出现在DCL文件中的”@include”定义并自动读取”@include”所指定DCL文件。另外,作为建议,作者不建议您的DCL文件过于庞大和复杂,虽然在测试中曾经成功地解析包含所有AutoCAD提供的DCL文件的庞大DCL文件,作者依然希望您提供给MVLT2003的DCL文件处于合理或合适的大小。



在操作控件时,MVLT给每个控件定义了三个属性的函数:

1.         [Set_tile函数]
打开对话框时,初始化控件的函数或函数表达式。

2.         [Action_tile函数]
当用户对控件进行操作后,保持现有对话框的反应函数或函数表达式。

3.         [Done_Dialog函数]
当用户对控件进行操作后,暂时关闭对话框并进行用户交互或其他指定的行为的函数或函数表达式。每个Done_Dialog函数对应一个Done_DialogID。MVLT2003会自动检查是否一一对应,原则情况下,MVLT2003不允许不对应的情况出现。

需要注意的是,Action_tile函数和Done_Dialog函数不可以同时存在定义,在设定时,程序会自动进行强制设定以不违反这个约束条件。

关于函数或函数表达式:用户在定义函数时,可以定义成简单函数如“(MySubFunction)”;也可以定义稍微复杂一些的函数,这些函数中可以包含有基本的Visual LISP函数,如:“(if  (setq AAA (getstring $Value))(alert “Something”))”但是要注意以下几点:使用的子函数(新的或Visual LISP固有的)时,程序不会去判断其变量个数及数据类型是否合法,这些错误会造成程序的调试错误甚至崩溃。在这些控制的维护上,MVLT2003的程序无法完成,需要用户自行维护和保证。

关于变量:为防止匹配错误,MVLT2003自动将所有的函数及变量转化为大写字母。用户输入或定义的子函数或变量也会一起被自动转换。

关于Set_tile函数排序:MVLT2003支持Set_tile函数排序,当有多个控件都定义了Set_tile函数时,这些函数的运行次序有时是非常重要的,为此,MVLT2003为用户提供了可以调整这些Set_tile函数调用顺序的功能。这样可以防止因为顺序颠倒而导致的数据或变量错误。这个功能是在MVLT2003新添加的。

其次,MVLT通过模板来建立应用程序的基本构架。这个模板同时也是MVLT的数据框架。通过在相应的位置添入相应的代码来完成应用程序的重组。这个框架也是绿洲软件(OASis——Open Architectural System independent source)最初的设计核心。

用于测试的版本目前尚不支持多模板及多语言模板,模板数据框架目前被锁定在英文的绿洲模板系统。用户模板目前尚无法完成,因为用户模板生成向导中有些技术问题还要再讨论。

为尽量保持源代码的正确性,在MVLT2003中内置有代码检查器:可以做两个非常简单但却很基本的Visual LISP源代码检查功能——括号是否匹配和引号是否正常关闭。这个代码检查器不但会实时检查用户输入的函数表达式,同时也检查已有的Visual LISP源文件(当这些文件被当成工程文件需要被调入MVLT2003时自动运行检查)。当发现错误时,MVLT2003会提示用户错误的类型及发生错误的大致位置。

基于MVLT2003软件的复杂、庞大程度(MVLT2003是8年来编过的最大的Visual LISP应用程序软件)及Visual LISP for AutoCAD R14.0的不稳定性,在AutoCAD R14.0中运行编译后的版本将会出现经常性的程序崩溃;而AutoCAD R16.0可能很快会出来,所以MVLT2003将不再保证对AutoCAD R14.0的支持。作为程序的测试及试用发布的ARX版本的程序文件将不会在最后的正式版本中保留。

目前发布的是最基本的测试版,整个的程序结构还没有被优化并连接,欢迎试用并提出您的宝贵意见。最后的正式版将在2003年1月完成。



运行本软件前,请确保已经在DOSLIB5.1+已经在AutoCAD中加载了。



安装:在AutoCAD R14.0中装载MVLT2003.ARX
      在AutoCAD 200x中装载MVLT2003.VLX
启动命令:MVLT
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-11-25 13:36:59 | 显示全部楼层
有没有正式版的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-27 20:45:02 | 显示全部楼层
安装文件之一
安装前先把执行文件释放出来,同时还要有后面的一个文件才可
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-27 20:49:03 | 显示全部楼层
同安装文件之一一起使用
安装前先把文件释放出来,放到同一个目录中
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-27 20:55:44 | 显示全部楼层
这个文件是为14编译的,可以单独使用,或同上面两个文件一起使用

这个文件仅仅是在14下用于测试的目的。


======================================================
另外我今天发现的问题,测试使用时请注意:

在读取或存入工作文件时,如果选取了浏览新文件,并在浏览文件时退出的话,程序会发生变量类型的错误而崩溃。

这个问题已经修正。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 05:02 , Processed in 0.199586 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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