找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1090|回复: 5

[API建议] 想打包基于XDRX_API二次开发的插件,能不能提供一些方便或者接口

[复制链接]

已领礼包: 7个

财富等级: 恭喜发财

发表于 2018-11-17 15:43:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
基于XDRX_API开发的插件,目前想做安装包,比较尴尬的是XD API 本身是一个安装包,再做一个插件安装包,这样要安装两次,安装目录啥的也要选两次,搞得有点复杂,不知官方能不能提供一些打包的便利。
我有以下几个建议方案,希望官方能够考虑,谢谢!

方案1.开放XDRX_API安装包的打包inno setup 脚本和源码, 这样做开发的,可以自行往里添加目录和LSP文件,然后集成到一起打包发布,一次搞定API 和 插件的安装加载。毕竟XD API 是一个底库,单独再弄一个安装包对使用者是个麻烦事。

方案2.发布XDRX_API时同时发布一个手动加载版,说明一下需要加载的文件即可。(如果弄一个统一加载入口LSP/ARX文件,拖到CAD窗口,自动判断版本,然后自动设定CAD支持文件目录,加载对应版本arx API文件,这样最好不过了 )

方案3.XDRX_API安装包做一个静默安装版本,运行后后台自动解包静默安装,安装目录通过运行参数传递指定,默认安装到所有已识别的CAD上,这样可以把API安装包和自己的安装包整合到一起,后台自动安装底库,然后再把自己编的插件写入对应的XDSoft\LISP下,也能方便安装。

以上方案,希望官方考虑下,或者有其他更好办法也可以。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-11-17 15:50:54 | 显示全部楼层
论坛以前有朋友二次开发打包过XDRX API,比较详细,你搜索下看看

自己把需要的ARX,LISP等问价打包到你的里面即可

好像是  凉开水 插件,你搜索看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7个

财富等级: 恭喜发财

 楼主| 发表于 2018-11-17 16:26:51 | 显示全部楼层
newer 发表于 2018-11-17 15:50
论坛以前有朋友二次开发打包过XDRX API,比较详细,你搜索下看看

自己把需要的ARX,LISP等问价打包到你 ...

找了下,是这个@xdj86 坛友的插件,但是没有找到关于打包的教程,有二次开发讨论的帖子。
http://bbs.xdcad.net/thread-706624-1-1.html
http://bbs.xdcad.net/thread-715589-1-1.html
第一个帖子7楼的回复还和第二个帖子说法有些矛盾。
第一个帖子7楼说设置了支持路径,就不需要拷贝DLL文件到系统目录;第二个帖子设置了支持路径还是不行,还是要拷贝到系统目录。
另外版主能否告知下,XD API 的SYS目录下的ARX API文件与CAD版本的对应关系,应为看起来RXX和200X版本号都不是连续的。

--------------------------------------------
由于ARX自身的原因,不能用绝对路径去加载DLL,因为在进入入口前,就判断缺失DLL,而不会执行到ARX里面的代码,所以你还是需要设置支持路径。
如果你不想设置SUPPORT的话,你的安装程序把 XDrx.x86.dll和XDRx.x64.dll拷贝到WINDOWS的系统目录下就可以了。
----------------------------------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2018-11-17 16:46:17 | 显示全部楼层
主要就是把SYS目录下的文件,都打包到你的程序里面,
1、安装时候,把xdrx.x86.dll拷贝到windows下的system32或者(64位系统拷贝到 windows/sysWOW64)
xdrx.x64.dll拷贝到 windows/system32目录
2、设置注册表dmandload 自动加载API
3、把你的程序初始化设置,写到xdrx.lsp文件里面
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7个

财富等级: 恭喜发财

 楼主| 发表于 2018-11-17 23:58:17 | 显示全部楼层
XDSoft 发表于 2018-11-17 16:46
主要就是把SYS目录下的文件,都打包到你的程序里面,
1、安装时候,把xdrx.x86.dll拷贝到windows下的syste ...

谢谢解答,想问下SYS目录下XDRx.**.arx 和 XDRx.Init.**.arx 分别是什么文件,为什么一个在R20后又变成了2016、2017...另一个到R20就没有了

点评

ARX是API,对应不同版本 自己在命令行输入 (getvar "acadver")看看版本的数字 16对应2005,2006, 通用 17对应2008,2009 18对应2010,2011,2012 19对应2013,2014 20对应2015 2016对应2016 2017对应2017 201  详情 回复 发表于 2018-11-18 11:41
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2018-11-18 11:41:07 | 显示全部楼层
Cad船长 发表于 2018-11-17 23:58
谢谢解答,想问下SYS目录下XDRx.**.arx 和 XDRx.Init.**.arx 分别是什么文件,为什么一个在R20后又变成了 ...

ARX是API,对应不同版本
自己在命令行输入 (getvar "acadver")看看版本的数字

16对应2005,2006, 通用
17对应2008,2009
18对应2010,2011,2012
19对应2013,2014
20对应2015
2016对应2016
2017对应2017
2018对应2018
2019对应2019

因为2016版本也是20,2015和2016都单独提供,所以名字不一样
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-19 18:20 , Processed in 0.197223 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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