delphi activex "The OLE control does not support self-registration"

1. 今天为了帮同学解决一个问题, 在自己的 activex 上进行操作, 把自己写的 activex 进行反注册后, 再重新注册, 结果居然报 "The OLE control does not support self-registration".

(1). 注册 activex


(2). 报错 "The OLE control does not support self-registration"


 

 

2. 网上找了半天没找到解决方法; 看提示既然说不支持"self-registration", 那我就手动注册好了, 在 cmd 里输入以下命令: regsvr32 ActiveSuDaPrintProj1.ocx, 结果还是报错: "模块已加载,但找不到入口点 DllRegisterServer..


 

3. 在自己的项目里搜了一遍, 确实没有 DllRegistrServer 函数, 随后在 .dpr 文件 看到 DllUnregisterServer, 就想着是不是少了 DllRegistrServer 函数, 手动加上后, 编译错误.


 

4. 找一个可以正常注册的 ocx 项目, 其 .dpr 文件如下


发现一共是少了3行, 把这三行加上去后, 问题解决.

 

 

5. 吐槽一下 delphi, 少了3行, 居然还能正常编译, 在注册的时候报错也让人摸不着头脑, 如果不是使用 regsvr32 注册的时候报错信息比较明了, 还不知要怎么来解决这问题呢.


开发环境: windows7 + delphi7

好久没写文章了,居然发现 csdn 博客不能上传图片了, 是bug吗?


你可能感兴趣的:(delphi7,activex)