明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: baitang36

[经验] [原创]用保留函数制作vlx

  [复制链接]
 楼主| 发表于 2021-12-15 11:30:48 | 显示全部楼层
不死猫 发表于 2021-12-15 11:14
还有:dcl :dvb,用来打包其他文件。另外前面:开头那几个也是常量标志,都可以用隐藏函数获取。

没找到:dcl,有dvb
发表于 2021-12-16 17:10:44 | 显示全部楼层
不死猫 发表于 2021-12-15 11:26
另外有三种制作vlx的方法,一是用vlx pack把第二个参数表中:fas后面文件名的字符串改为fas实际编码字符串, ...

都很高深是的,猫老师可以出专篇吗?学习一下。
发表于 2021-12-20 09:18:43 | 显示全部楼层
盛老师又出新作品了 立即试用 感谢感谢
 楼主| 发表于 2022-3-9 09:16:15 | 显示全部楼层
取消附件收币,免费下载
发表于 2022-3-20 17:23:34 | 显示全部楼层
baitang36 发表于 2021-12-15 11:04
这是一个保留符号。
再加一个:txt,支持dcl文件

您好,请问可以举个例子吗,不明白怎么用,关于打包DCL的
 楼主| 发表于 2022-3-21 08:15:47 | 显示全部楼层
1028695446 发表于 2022-3-20 17:23
您好,请问可以举个例子吗,不明白怎么用,关于打包DCL的

(load "c:/06/syz-vlx-pack.fas")  ;加载保留函数
(setq list1 '((:protected . T)
              (:active-x . T)
              (:separate-namespace)   ;非独立名称空间
              (:load-file-list (:fas "1") (:fas "2"))   ;需要加载的fas
             )
) ;_ setq
(setq list2 (list (list :fas "d:/1.fas") (list :fas "d:/2.fas")))
(vlx-pack "d:/2t.vlx" list1 list2)
这就是源码,原理很简单。准备好两个表,把你需要打包进vlx的文件路径写到表里,然后调用vlx-pack
发表于 2024-4-28 14:41:40 | 显示全部楼层
本帖最后由 cchessbd 于 2024-4-28 14:54 编辑
baitang36 发表于 2021-12-15 11:04
这是一个保留符号。
再加一个:txt,支持dcl文件

盛老师您好,请教一个问题: 拖入加载syz-vlx-pack.fas后,我学习您这个1.1的版本来自动生成vlx。
我采用的是2种方式生成,一种是直接原始多个fas文件,一种是多fas文件合并为一个fas再用syz-vlx-pack生成。
现在是能够生成vlx,生成的vlx不能正常运行。
但生成后的vlx(包含syz-vlx-pack.fas)有很多bug:cad中拖放加载后,不能运行syz-vlx-pack,丢失其他函数。
和.prv文件编译的对比,功能完全不正常。贴上我的.prv文件

;;; Visual LISP 生成文件 [V1.0] L2F_F2A_CMP_TRYHI-L2F_RND_P saved to:[R:/L2F_F2A_CMP_TRYHI-L2F_RND_P] at:[11/29/22]
(PRV-DEF (:target . "L2F_F2A_L2X_F2X_CMP_TRYHI-L2F_RND_P.VLX")
         (:active-x . T)
         (:separate-namespace)
         (:protected . T)
         (:load-file-list
           (:fas "__GetVlxPath.fas")
           (:fas "syz-vlx-pack.fas")
           (:fas "_write-nb-str.fas")
           (:fas "CMP合并多个LSP并编译.fas")
           (:fas "L2F批量转FAS0113.fas")
           (:fas "RND.fas")
           (:fas "TRYHI-L2F.fas")
         )
         (:require-file-list (:txt "sleep0.3秒关闭.txt"))
         (:ob-directory)
         (:tmp-directory)
         (:optimization . st)
)
;; EOF

麻烦您百忙之中帮忙解答一下。
发表于 2024-4-28 14:49:15 | 显示全部楼层
本帖最后由 cchessbd 于 2024-4-28 14:52 编辑
cchessbd 发表于 2024-4-28 14:41
盛老师您好,请教一个问题: 拖入加载syz-vlx-pack.fas后,我学习您这个1.1的版本来自动生成vlx。
我采 ...

另外VLX-PACK拖放有时候也不能加载,但是我再次拖放就能在lisp中调用成功。


本帖子中包含更多资源

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

x
发表于 2024-4-30 16:29:45 | 显示全部楼层
cchessbd 发表于 2024-4-28 14:49
另外VLX-PACK拖放有时候也不能加载,但是我再次拖放就能在lisp中调用成功。

经过多次不同文件夹的多个fas文件测试,您的syz-vlx-pack.fas有问题,生成的vlx不能正常运行。请老师有时间修复一下。
 楼主| 发表于 2024-5-4 07:05:14 | 显示全部楼层
cchessbd 发表于 2024-4-30 16:29
经过多次不同文件夹的多个fas文件测试,您的syz-vlx-pack.fas有问题,生成的vlx不能正常运行。请老师有时 ...

syz-vlx-pack.fas不可能有问题,它的功能只是把保留函数vlx-pack转换成普通函数。内容太简单了,不可能出错。你可以改用(load "trf_9.fas")(tranf "vlx-pack")转换,不用这个fas试试
vlx-pack依赖vlide,它必须在vlide加载后才能起作用。你的有时不起作用可能就是加载vlide不成功。
把所有fas合并成一个fas,打包合并后的fas有时出错,这个问题我遇到过,无解。可以用我的fas2vlx来生成vlx。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 15:28 , Processed in 0.163491 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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