baitang36 发表于 2022-2-23 21:14:06

【原创】精确获取vlx的加载位置

本帖最后由 baitang36 于 2023-10-19 11:00 编辑

经过多次失败,终于成功了。把附件中的t8.vlx用任意方式加载,调用函数(syz-vlx-path)就能返回t8.vlx的带路径文件名。
把syz-vlx-path.fas打包到你的vlx中,用户加载后,调用函数(syz-vlx-path)就能返回你的vlx的带全路径文件名。不论用户用何种方式加载vlx,这种方法都可以精确获取vlx文件的位置。
这个方法的实现原理是,cad在加载vlx时保存了完整的路径名,我通过保留函数把它找了出来。t8的意思是前7个方案都失败了,第8个成功了。

将syz-vlx-path.fas打包进你的vlx,执行一句(setq path1(syz-vlx-path))就可得路径。



baitang36 发表于 2022-2-24 09:36:01

本帖最后由 baitang36 于 2022-2-24 15:46 编辑

没币的朋友可以在这里下载。

tryhi 发表于 2022-2-23 21:42:57

牛人,这个意义非常之重大,感谢楼主无私的付出

tryhi 发表于 2022-2-23 22:00:49

[url=forum.php?mod=redirect

加载时用一个独有的全局变量保存即可,解决了多个vlx覆盖问题

baitang36 发表于 2022-2-23 21:46:01

本帖最后由 baitang36 于 2022-2-23 21:48 编辑

Bao_lai 发表于 2022-2-23 21:44
如果多个VLX都用了这个fas,返回的值会是哪一个?
; ′íÎó: ¶áèëμÄ (°Ë&# ...
答案是最后加载的那个。后加载的vlx会冲掉前面加载的。我的fas没有加密,你可以自己改成你想要的名字。fas文件名,函数名,fas内的字符串名这三个地方必须同时改,否则会失败。

流氓兔 发表于 2022-2-23 21:24:27

非常牛逼得功能

Bao_lai 发表于 2022-2-23 21:44:28

如果多个VLX都用了这个fas,返回的值会是哪一个?
; ′íÎó: ¶áèëμÄ (°Ë½øÖÆ) ×Ö·û2»Õyè·: 24
; ±àòëÖÕÖ1: ·¢ÏÖÖÂÃü′íÎó¡£

Bao_lai 发表于 2022-2-23 21:51:36

baitang36 发表于 2022-2-23 21:46
答案是最后加载的那个。后加载的vlx会冲掉前面加载的。我的fas没有加密,你可以自己改成你想要的名字。fa ...

感谢无私分享,这个解决路径的确实会有不少用。

baitang36 发表于 2022-2-23 21:54:21

Bao_lai 发表于 2022-2-23 21:51
感谢无私分享,这个解决路径的确实会有不少用。

用于软件的安装还是不错的,让用户第一次加载时的位置就是软件安装位置

Bao_lai 发表于 2022-2-23 22:03:41

tryhi 发表于 2022-2-23 22:00
[url=forum.php?mod=redirect

加载时用一个独有的全局变量保存即可,解决了多个vlx覆盖问题

海哥这个主意可行。

cqu20104225 发表于 2022-2-23 22:40:01

感谢分享,如果可以,希望能学习源码
页: [1] 2 3 4 5 6 7
查看完整版本: 【原创】精确获取vlx的加载位置