找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 638|回复: 1

[求助]:制作安装程序的问题

[复制链接]
发表于 2008-7-23 22:41:30 | 显示全部楼层 |阅读模式

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

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

×
最近制作安装程序,碰见了一个奇怪的问题 ,就是dbx无法加载
我的环境是vs2002+arx2005

在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 给予的帮助,我都不好意思在打扰他了,所以想向论坛中的高手请教了,望高手不吝赐教
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2008-7-24 17:37:59 | 显示全部楼层
1.直接在类头文件中加(整个类导出)

#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP
#endif


class DLLIMPEXP CYourClass : public AcDbCurve {
}

2.由于程序设定有问题,在文件菜单下的添加新项中创建一个新的def文件,加入一下内容

EXPORTS
        acrxEntryPoint                PRIVATE
        acrxGetApiVersion        PRIVATE

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 06:17 , Processed in 0.317689 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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