明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: cabinsummer

[风之影][解析]二次开发安装程序

    [复制链接]
发表于 2011-10-15 14:18 | 显示全部楼层
cabinsummer 发表于 2011-10-15 14:10
手动关闭也不影响安装。天正不会连手动关闭也不允许吧?


上面是测试截图。
虽然安装成功了,但出问题了,天正的多文档标签关闭对这个setup.dwg失效。setup.dwg也没有关闭。

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-10-15 14:39 | 显示全部楼层
highflybird 发表于 2011-10-15 14:18
上面是测试截图。
虽然安装成功了,但出问题了,天正的多文档标签关闭对这个setup.dwg失效。setup.dwg ...

原来天正是建筑行业的,我在机械行业,所以不曾用过这个软件。在其它环境下的测试,也只能依靠各位大侠努力了。我在9月20日的帖子中就提到安装程序是开发者所写,我只能提供一个原理。我用此原理在自己公司能成功,并不代表适用于一切环境。就拿注册表一项来说,不同版本的CAD注册表还略有差别。如果要做成通用的安装程序,还需要很长一段路。如果大侠们有兴趣改进此方法,也希望能将源码贴出。
发表于 2011-10-15 14:49 | 显示全部楼层
如果读者想要更深入了解CAD的启动,不妨参考如下链接:
http://www.360doc.com/content/11/0326/21/61809_104839543.shtml

点评

没有两个,都是我一个人,我还有一个马甲:highflyingbird.呵呵,我也不是大师级的。多谢夸奖了。  发表于 2011-10-15 23:04
原来有两只高飞鸟,都是大师级的人物。天真啊  发表于 2011-10-15 21:47
 楼主| 发表于 2011-10-15 15:10 | 显示全部楼层
highflybir 发表于 2011-10-15 14:49
如果读者想要更深入了解CAD的启动,不妨参考如下链接:
http://www.360doc.com/content/11/0326/21/61809_ ...

看了链接的博客,发现有一处不一样的地方。博客中提到修改注册表要在CAD关闭的情况下,我的安装程序不需要关闭CAD就可直接用新功能,这是我亲眼所见不需要重启。安装程序中有通过改写注册表添加支持路径的功能。看来AutoCAD版本太多,情况过于复杂。所以安装程序还是需要开发者自己写。另外博客中提到,AutoCAD自身带的lsp、mnl如果重写的话会引起第三方软件的冲突。而我开发的程序都加上作者标记,比如zz_toolkit.mnl,我所有的程序都带前面都带有zz_。也希望其它开发者多注意这方面的情况,否则,即使手动加载,也会出现冲突。
 楼主| 发表于 2011-10-15 21:31 | 显示全部楼层
highflybird 发表于 2011-10-15 14:04
正是,就是连setup.dwg它都不让你关闭。我没理解错误。
你这个安装方法有很多可取的地方,但是唯一让我觉得 ...



附件是我改进后的测试部分。解压到E:\下,并建立D:\MyApp,有兴趣的人可以实践一下。
根据highflybird的建议,我把安装程序的acaddoc.lsp改进了一下。采用quit退出ACAD,而不是exit退出当前文档。原因如下:如果是双击setup.dwg打开新的AutoCAD窗口进行安装的话,AutoCAD会记得启动目录是E:\Setup,所以在不关闭AutoCAD的情况下新建文件总是要运行e:\setup\acaddoc.lsp,这样就会出错。而如果AutoCAD是通过快捷方式或先打开其它目录下的dwg文件时,双击setup.dwg安装就不会出错。综合各种情况,我用quit退出CAD来代替exit退出当前文档。在quit完全退出时,ACAD会提示是否要保存当前文档,此时你选择是与否都没有关系,聪明的你可以想想为什么。
另一个办法就是在e:\setup\acaddoc.lsp中加上自身的判断,比如(if (not (findfile "d:\\myapp\\myapp.mnu"))([setup函数])),这样新文件就会执行一次空安装,直到ACAD结束也不会出错。

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-10-15 21:36 | 显示全部楼层
cabinsummer 发表于 2011-10-15 21:31
附件是我改进后的测试部分。解压到E:\下,并建立D:\MyApp,有兴趣的人可以实践一下。
根据highflybi ...

其实这也是我对AutoCAD启动顺序不太精通造成的。没有考虑清楚双击setup.dwg启动AutoCAD与其它情况不同。
发表于 2011-10-15 22:15 | 显示全部楼层
高手太多了。有的还是看不懂。
发表于 2011-10-19 19:52 | 显示全部楼层
高手实在是很多,我现在就学习简单的lisp,
发表于 2011-11-1 10:11 | 显示全部楼层
如何使用AutoLISP函数plot使几张图纸不用手动操作自动连续打印出来且名称会自动变化,如1.jpg、2.jpg、3.jpg等?不知道该怎么编程?有人知道吗?
 楼主| 发表于 2011-11-1 19:02 | 显示全部楼层
弱水三千 发表于 2011-11-1 10:11
如何使用AutoLISP函数plot使几张图纸不用手动操作自动连续打印出来且名称会自动变化,如1.jpg、2.jpg、3.jp ...

用(command "shell")试试?呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 14:17 , Processed in 0.214391 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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