进程外COM组件

时间:2022-08-29 18:52:01
通过ATL建立进程外服务器,进过编译,生成了一个SecurityMgrExe.exe文件
在DOS下用命令regsvr32 .../SecurityMgrExe.exe进行注册:
出现如下错误:
模块“..../SecurityMgrExe.exe”已加载,但找不到入口点DllRegisterServer。
请确保“..../SecurityMgrExe.exe”为有效的DLL或OCX文件,然后重试。

在客户程序中总是报错:Could not create instance

请问这是什么原因???
怎样解决???

6 个解决方案

#1


1、找不到入口点DllRegisterServer,检查SecurityMgrExe.def文件中的
EXPORTS出是否有函数DllRegisterServer
2、该组件未能进行DllRegisterServer注册,证明不是标准的COM ActiveX组件,客户程序调用肯定会报错!

#2


在cmd中注册也出错吗?

#3


引用 1 楼 ouwarmth 的回复:
1、找不到入口点DllRegisterServer,检查SecurityMgrExe.def文件中的
EXPORTS出是否有函数DllRegisterServer
2、该组件未能进行DllRegisterServer注册,证明不是标准的COM ActiveX组件,客户程序调用肯定会报错!


EXPORTS处有函数DllRegisterServer
"不是标准的COM ActiveX组件"是什么意思???我是初学者。如何解决上述问题???

#4


你的是。.net 框架编译出来的吧

如果系统没有装这个,你当然注册不了

#5


引用 4 楼 zhoutanliang 的回复:
你的是。.net 框架编译出来的吧

如果系统没有装这个,你当然注册不了


我用的是VC6.0中的ATL创建的COM服务器

#6


VC6不是编译的时候直接就注册了么。。。。还用手动去?

#1


1、找不到入口点DllRegisterServer,检查SecurityMgrExe.def文件中的
EXPORTS出是否有函数DllRegisterServer
2、该组件未能进行DllRegisterServer注册,证明不是标准的COM ActiveX组件,客户程序调用肯定会报错!

#2


在cmd中注册也出错吗?

#3


引用 1 楼 ouwarmth 的回复:
1、找不到入口点DllRegisterServer,检查SecurityMgrExe.def文件中的
EXPORTS出是否有函数DllRegisterServer
2、该组件未能进行DllRegisterServer注册,证明不是标准的COM ActiveX组件,客户程序调用肯定会报错!


EXPORTS处有函数DllRegisterServer
"不是标准的COM ActiveX组件"是什么意思???我是初学者。如何解决上述问题???

#4


你的是。.net 框架编译出来的吧

如果系统没有装这个,你当然注册不了

#5


引用 4 楼 zhoutanliang 的回复:
你的是。.net 框架编译出来的吧

如果系统没有装这个,你当然注册不了


我用的是VC6.0中的ATL创建的COM服务器

#6


VC6不是编译的时候直接就注册了么。。。。还用手动去?