明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1723|回复: 13

[经验] LISP 动态加载DLL

[复制链接]
发表于 2023-12-26 16:44:32 | 显示全部楼层 |阅读模式
本帖最后由 yaojing38 于 2023-12-26 17:02 编辑

lisp  改文件地址方便  结合了下大佬们的结晶 ,分享一下 把动态DLL和你要加载的DLL的地址替换成你的就行。
  1. (defun c:aa ()
  2.   (setvar "cmdecho" 0)
  3.         (vl-load-com)
  4.   (if (null (getcname "AA_W"))
  5.   (vl-cmdf "netload" "D:\\lib\\动态加载22\\动态加载22\\obj\\Debug\\net40\\动态加载22.dll"))
  6.   (princ "\n")
  7.   (princ "\rD:\\lib2023\\myjob\\Project4\\Project4\\obj\\Debug\\net48\\Project4.dll") ;注意此处/r不能删了
  8.   (princ "\n")
  9.   (vl-cmdf "AA_W")
  10.   (princ)
  11. )


。。

本帖子中包含更多资源

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

x

点评

能做到编译重新编译不占用文件吗  发表于 2024-11-13 20:50
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 7 天前 | 显示全部楼层
nuan1989 发表于 2024-5-12 12:43
你知道有没有法子让autolisp异步调用不, 类似线程调用. 不卡cad.  想要弄个异步监测其他进程的消息.

lisp是面向过程的,不是面向对象的,所以,多线程支持是木有的。唯一的可能是后台再开一个隐藏的CAD运行另外的线程,效率上很差
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-12-27 12:37:03 | 显示全部楼层
wangsr 发表于 2023-12-26 17:43
能给新人讲细点怎么用吗谢谢。

  1. (vl-cmdf "netload" "D:\\lib\\动态加载22\\动态加载22\\obj\\Debug\\net40\\动态加载22.dll")) ;这里填附件的DLL地址
  2. (princ "\rD:\\lib2023\\myjob\\Project4\\Project4\\obj\\Debug\\net48\\Project4.dll") ;注意此处/r不能删了 ;;这里填你要加载测试的DLL文件地址 使用LISP命令就可以实现动态加载你要测试的DLL文件
复制代码
发表于 2023-12-26 17:43:38 | 显示全部楼层
能给新人讲细点怎么用吗谢谢。
发表于 2023-12-26 20:19:27 | 显示全部楼层
这是那个NetLoadX.dll么,写一个lisp先加这个dll,然后再从这个netloadx中加载自己的dll就不会文件占用了。
 楼主| 发表于 2023-12-27 12:41:18 | 显示全部楼层
Bao_lai 发表于 2023-12-26 20:19
这是那个NetLoadX.dll么,写一个lisp先加这个dll,然后再从这个netloadx中加载自己的dll就不会文件占用了。

是的,,只是改成用lisp获取地址
发表于 2024-5-10 20:58:26 | 显示全部楼层
但是怎么调用dll里面方法呢
 楼主| 发表于 2024-5-11 09:34:53 | 显示全部楼层
nuan1989 发表于 2024-5-10 20:58
但是怎么调用dll里面方法呢

?一个是要调试DLL地址,一个是动态加载的DLL文件的地址

点评

牛掰  发表于 2024-5-12 12:42
发表于 2024-5-12 12:43:51 | 显示全部楼层
yaojing38 发表于 2024-5-11 09:34
?一个是要调试DLL地址,一个是动态加载的DLL文件的地址

你知道有没有法子让autolisp异步调用不, 类似线程调用. 不卡cad.  想要弄个异步监测其他进程的消息.
 楼主| 发表于 2024-5-14 09:21:50 | 显示全部楼层
nuan1989 发表于 2024-5-12 12:43
你知道有没有法子让autolisp异步调用不, 类似线程调用. 不卡cad.  想要弄个异步监测其他进程的消息.

这个不懂。。。
 楼主| 发表于 7 天前 | 显示全部楼层
可以的,你试下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-21 01:40 , Processed in 0.277669 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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