明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4409|回复: 17

用秋枫老大程序制作的安装程序,问题出在哪里?

  [复制链接]
发表于 2012-3-23 21:33:57 | 显示全部楼层 |阅读模式
本帖最后由 9701519 于 2012-4-3 00:35 编辑
  1. ;;; 判断是否加载本文件
  2. (if (car (atoms-family 1 '("vl-load-com")))
  3.    (vl-load-com)
  4.    ;;else
  5.    (progn
  6.        (Alert
  7.            "这个程序集是为AutoCAD 2000以及更高的版本设计的,许多程序有可能在没有Visual Lisp for R14支持的AutoCAD R14上不能正确地运行。"
  8.        )
  9.        (exit) ; 版本不符,退出加载。
  10.    )
  11. )
  12. ;;; 以下定义文件中用到的函数
  13. ;;;----------------------------------------------------------------------------------;;; 取得本程序的路径
  14. ;;; ---------------------------------------------------------------------------------
  15. (defun GetMyApplicationPath (AppID)
  16.    (vl-registry-read
  17.        (strcat
  18.            "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\"
  19.            AppID
  20.            "_is1"
  21.        )
  22.        "Inno Setup: App Path"
  23.    )
  24. )(defun GetLZToolsPath ()
  25.    (GetMyApplicationPath "Leon's Tools")
  26. );;; 解析字符串为表(函数来自明经通道转载)
  27. ;;; ---------------------------------------------------------------------------------
  28. (defun strParse (Str Delimiter / SearchStr StringLen return n char)
  29.    (setq SearchStr Str)
  30.    (setq StringLen (strlen SearchStr))
  31.    (setq return '())
  32.    (while (> StringLen 0)
  33.        (setq n 1)
  34.        (setq char (substr SearchStr 1 1))
  35.        (while (and (/= char Delimiter) (/= char ""))
  36.            (setq n (1+ n))
  37.            (setq char (substr SearchStr n 1))
  38.        ) ;_ end of while
  39.        (setq return (cons (substr SearchStr 1 (1- n)) return))
  40.        (setq SearchStr (substr SearchStr (1+ n) StringLen))
  41.        (setq StringLen (strlen SearchStr))
  42.    ) ;_ end of while
  43.    (reverse return)
  44. ) ;_ end of defun;;; 反解析表为字符串(函数来自明经通道转载)
  45. ;;; ---------------------------------------------------------------------------------
  46. (defun StrUnParse (Lst Delimiter / return)
  47.    (setq return "")
  48.    (foreach str Lst
  49.        (setq return (strcat return Delimiter str))
  50.    ) ;_ end of foreach
  51.    (substr return 2)
  52. ) ;_ end of defun;;; 移除支持文件搜索路径
  53. ;;; ---------------------------------------------------------------------------------
  54. (defun LZ_RemoveSupportPath (PathToRemove / supportlist)
  55.    (setq supportlist (strparse (getenv "ACAD") ";"))
  56.    (setq supportlist (vl-remove "" supportlist))
  57.    (setq supportlist
  58.                  (vl-remove-if
  59.                      '(lambda (x) (= (strcase x) (strcase PathToRemove)))
  60.                      supportlist
  61.                  )
  62.    )
  63.    (setenv "ACAD" (strUnParse supportlist ";"))
  64. );;; 添加支持文件搜索路径
  65. ;;; ---------------------------------------------------------------------------------
  66. ;;; note:   第二个参数如果为真, 插最前,否则插最后
  67. ;;;               
  68. (defun LZ_AddSupportPath (PathToAdd isFirst / supportlist)
  69.    (LZ_RemoveSupportPath PathToAdd)
  70.    (setq supportlist (strparse (getenv "ACAD") ";"))
  71.    (setq supportlist (vl-remove "" supportlist))
  72.    (if isFirst
  73.        (setq supportlist (cons PathToAdd supportlist))
  74.        (setq supportlist (append supportlist (list PathToAdd)))
  75.    )
  76.    (setenv "ACAD" (strUnParse supportlist ";"))
  77. )
  78. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  79. (defun Init_LZools ()
  80.     ;; 添加支持路径
  81.    (LZ_AddSupportPath (GetLZToolsPath) nil)
  82.    (LZ_AddSupportPath (strcat (GetLZToolsPath) "\\LISP") nil) (princ))
  83.    





用此命令 (LZ_AddSupportPath (GetLZToolsPath) nil) 可以导入安装路径添加到CAD支持文件搜索路径,但命令行会出现如附件图片显示

写成以下这样就不能导入安装路径添加到CAD支持文件搜索路径
(defun Init_LZools ()
    ;; 添加支持路径
   (LZ_AddSupportPath (GetLZToolsPath) nil)
   (LZ_AddSupportPath (strcat (GetLZToolsPath) "
\\LISP") nil) (princ))

本帖子中包含更多资源

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

x
发表于 2018-10-1 17:52:43 | 显示全部楼层
vl-registry-read,在64位win7系统中读不出,有什么解决办法?
 楼主| 发表于 2012-3-23 23:05:35 | 显示全部楼层

用秋枫老大程序制作的安装程序,问题出在哪里?

本帖最后由 9701519 于 2012-4-3 00:17 编辑

用秋枫老大程序制作的安装程序,问题出在哪里?
 楼主| 发表于 2012-3-24 21:27:03 | 显示全部楼层
本帖最后由 9701519 于 2012-4-3 00:18 编辑

用秋枫老大程序制作的安装程序,问题出在哪里?
发表于 2012-3-24 23:47:29 | 显示全部楼层
不顶不行,不要让他给沉了!
楼下继续。
发表于 2012-3-25 08:45:24 | 显示全部楼层
请高手出来帮忙啊!
 楼主| 发表于 2012-3-25 21:34:45 | 显示全部楼层
本帖最后由 9701519 于 2012-4-3 00:18 编辑

用秋枫老大程序制作的安装程序,问题出在哪里?
 楼主| 发表于 2012-4-2 01:41:45 | 显示全部楼层
本帖最后由 9701519 于 2012-4-3 00:18 编辑

问题出在哪里?
 楼主| 发表于 2012-4-3 00:20:22 | 显示全部楼层
 楼主| 发表于 2012-4-3 11:52:50 | 显示全部楼层
没人知道吗?
发表于 2012-9-15 15:04:25 | 显示全部楼层
9701519 发表于 2012-4-3 11:52
没人知道吗?

我的就没有出过问题,直接用2011-4-20的那个程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 20:53 , Processed in 0.198949 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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