导航
  • 主页
  • Windows SDK/API
  • 基础类
  • ActiveX
  • 数据库及相关技术
  • 网络及通讯开发
  • VCL组件使用和开发
  • 问答

求助,用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方法,执行内部服务处理用,不对外使用.
...全文
211 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbqc_zh 2007-05-17
找到了,给分吧
回复
constantine 2007-05-16
你的com还用别人的dll?简单点都放system32里面去吧
回复
过客猫2020 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组件好像是要安装的.打开组件服务,看见你的组件在上面右键移动,然后按着向导走
回复
发动态
发帖子
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
社区公告
暂无公告