|
高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】[求助]:制作安装程序的问题
[求助]:制作安装程序的问题
[求助]:制作安装程序的问题
最近制作安装程序,碰见了一个奇怪的问题 ,就是dbx无法加载
我的环境是vs2+arx5
在db项目中有三个自定义实体(cent1 、cent2、cent3) 和一个保存数据的类(cdata) ,由于在其他项目中也要使用cdata类,所以cdata要导出,但是我不太清楚我导出的是否正确 部分代码如下
cdata.h中
#ifdef dbdllimpexp
#else
#define dbdllimpexp __declspec(dllimport)
#endif
cdata.cpp中
#define dbdllimpexp __declspec(dllexport)
我听有人讲,在该db项目中的所有cpp文件都是需要#define dbdllimpexp __declspec(dllexport) 是吗?
我做安装程序的步骤在db的msm中,我是依照向导 导出项目中的类(cent1 、cent2、cent3),在注册表项中生成一下键值 hklm\software\autodesk\objectdbx\r16.1\applications
\cent1
description ""
loadctrls 2
loader [commonfilesfolder]autodesk shared\db.dbx
\cent2 description ""
loadctrls 2
loader [commonfilesfolder]autodesk shared\db.dbx
\cent3 如上
我想请问在注册表中加载dbx的键是类(如cent1)的名称吗?这个有要求吗? 还有我这里值都正确吗?
还有就是 我曾经设置loadctrls 41 ,使用这个就是不能加载,cad提示,arx程序由于找不到对应的文件无法加载,我想就是dbx的问题
之后我将loadctrls设置为1 ,cad显示“unable to load dbx resource”并且cad不能启动了。
另外,我的db.dbx 通过cad中的菜单||工具》加载应用程序 可以正常加载,请问是否有人遇到过这个问题?请高手解答了谢了
还有感谢pragmatic programmer(58756233)群 中的bread.breath 给予的帮助,我都不好意思在打扰他了,所以想向论坛中的高手请教了,望高手不吝赐教
[ 本帖最后由 iceyoutom 于 8-7-24 05:07 pm 编辑 ]
不能加载db.dbx可能是因为cad的支持文件搜索路径里面没有添加db.dbx所在文件夹的路径
这个问题解决了,就是我用wizard 重新做了一次db 和ui 的代码,结果就能用了。我也搞不清楚是为什么。
可能是原来我的自定义实体是从别的项目中直接拷过过来的,由于自定义实体里面的那些帮助完成“注册”的宏跟现在的项目不对应,而造成的不能加载的后果,请问高手是这个原因吗?
|