求助,用bcb6开发的com组件,只能在开发的机器上注册成功?

songzx66 2007-05-10 05:05:01
用bcb6开发的com组件,只能在开发的机器上注册成功,并正常被其他程序调用,但在其他机器上用regsrv32注册时提示:loadlibrary(...)找不到指定模块.

在编译项目前,已经将project ->options->packages->build with runtime packages的复选去掉了.linker中的use dynamic RTL的复选也去掉了.

项目中使用了第三方提供的dll动态链接库导出的lib.此dll已经复制到system32里,生成的lib文件是和com的dll在同一目录下

com组件项目建立时,是按先创建activex library,然后再从new中选择添加com object.然后在type library中的接口里创建一个新方法.生成classimpl.cpp文件后,在它的头文件中加入了3个private方法,执行内部服务处理用,不对外使用.
...全文
258 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbqc_zh 2007-05-17
  • 打赏
  • 举报
回复
找到了,给分吧
constantine 2007-05-16
  • 打赏
  • 举报
回复
你的com还用别人的dll?简单点都放system32里面去吧
过客猫2022 2007-05-16
  • 打赏
  • 举报
回复
gz
jacknes009 2007-05-16
  • 打赏
  • 举报
回复
找到原因了,不是com的问题,是第3方的dll路径问题,必须要写死在固定的目录中才成.

那也可以啊,放到你当前程序地下就可以了吗?
然后去加载就行了吗,
jacknes009 2007-05-16
  • 打赏
  • 举报
回复
study
我不懂电脑 2007-05-16
  • 打赏
  • 举报
回复
组件间的依赖关系是要好好管。
Waiting4you 2007-05-10
  • 打赏
  • 举报
回复
为什么? 不是只要注册了COM组件就行了吗? 还要关心路径?
songzx66 2007-05-10
  • 打赏
  • 举报
回复
找到原因了,不是com的问题,是第3方的dll路径问题,必须要写死在固定的目录中才成.
songzx66 2007-05-10
  • 打赏
  • 举报
回复
使用Depends.exe 工具检查com的dll文件,显示了DWMAPI.DLL这个文件找不到.可是我本机的system32下也没有这个文件,但可以注册成功.
zwh202342 2007-05-10
  • 打赏
  • 举报
回复
com组件好像是要安装的.打开组件服务,看见你的组件在上面右键移动,然后按着向导走

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧