关于ActiveX控件注册的问题

webycn 2006-05-16 08:44:53
自己编写了一个ActiveX控件,如果系统安装了VC6,(我一直用),用打包程序生成的setup文件就可以注册该控件,或者用regsvr32.exe也可以,但是不安装VC,注册时报错126,找不到指定的模块.
不知道是什么原因?
控件中使用了多线程,线程创建是用CreateThread,不知道是不是这个原因.
请高手支招..
先谢谢.
...全文
218 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
webycn 2006-05-17
  • 打赏
  • 举报
回复
可以结帖了.

关键问题在于:Ocx控件不用静态发布,使用ocx控件的应用程序一定要静态release发布.
昨天搞错了...ft!

感谢:
rageliu(长白山的水怪居然是假的 近期目标是还债!!!等有钱了去喀纳斯看水怪......)
rageliu 2006-05-16
  • 打赏
  • 举报
回复
如使用了其他dll等,请保证版本的对应性
rageliu 2006-05-16
  • 打赏
  • 举报
回复
打包需要的文件,用depends看看,使用静态发布版本
MLiang 2006-05-16
  • 打赏
  • 举报
回复
要把控件所必须的DLL也打包进去,装vc时他会帮你装很多程序必须的DLL,打包自己的控件主要要把这些必须的DLL打包进去
一条晚起的虫 2006-05-16
  • 打赏
  • 举报
回复
除了这个.ocx或者.dll外,控件还用到了其他的文件。
  • 打赏
  • 举报
回复
一般来说是依赖其他的库

建议在vc中不要用CreateThread创建线程,使用不当会有内存泄露
jytan 2006-05-16
  • 打赏
  • 举报
回复
呵呵,
学习。。。
webycn 2006-05-16
  • 打赏
  • 举报
回复
不静态发布当然有问题,发布版本请确认使用静态Release

控件静态发布后,在应用程序中无法加入.
不知道是什么原因.注册是成功了,加入时报错,说不识别的配置...
应用程序静态发布了,没有效果..

关键问题是,安装程序在注册ocx时报错,根本轮不到应用程序运行...
rageliu 2006-05-16
  • 打赏
  • 举报
回复
回复4楼,静态发布我还没有试,可以试试,谢谢.

不静态发布当然有问题,发布版本请确认使用静态Release
webycn 2006-05-16
  • 打赏
  • 举报
回复
回复2楼,我的控件中没有使用其他的DLL或者OCX,控件主要实现串口通讯的功能,使用readfile和writefile来实现.

回复3楼,安装VC我不知道给装了些什么东西,在CD_ROM中,vc98/redist目录下有一个redist.wri文件,是vc安装是重新发布的文件,我用Depends察看后,拷贝出来重新发布了,还是不好使.ft!

回复4楼,静态发布我还没有试,可以试试,谢谢.

5楼的提醒很重要,也表示感谢...

我在看MSDN时,LoadLibrary()函数时,有这么一条,
The Visual C++ compiler supports a syntax that enables you to declare thread-local variables: _declspec(thread). If you use this syntax in a DLL, you will not be able to load the DLL explicitly using LoadLibrary or LoadLibraryEx. If your DLL will be loaded explicitly, you must use the thread local storage functions instead of _declspec(thread).
是不是有关系..?

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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