MFC学习之 创建ActiveX控件 遇到的问题
2012-09-24 15:32
246 查看
一、关于注册ActiveX控件
Regsvr32.exe位于Windows目录的system子目录下。点击Windows的“开始→运行”菜单,在对话框中输入以下命令:(这里以netshare.ocx控件为例)
regsvr32 netshare.ocx 注册netshare.ocx控件
regsvr32 /u netshare.ocx 解除netshare.ocx控件的注册
如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径。
(技巧:在“运行”中输入regsvr32 之后,只要把netshare.ocx按住直接拖到运行框中就行了)
问题:在Vista或W7中经常会有注册时 遇到权限问题,这时就要在 开始->所有程序->附件->命令提示符 (点右键)->以管理员身份登录,再将上面的注册代码写一遍,就ok了
二:关于添加ActiveX时出现 ”未指定的错误 控件无法加载的原因“
1.中文问题:如果你的项目类型是多字节的,而不是unicode编码的,你可能要注意这个问题了,我就发生了这个问题,为了解决这个问题没办法项目重新生成然后一个一个去排除,结果发现在 "copyright 公司名称(C)"的地方多了一个公司名称,是我自己手动加上去的,结果就是这个说明给搞的不能运行
2.acticex运行时需要其他的dll库没有在同一个目录下,或者没有在system32下都会导致这个问题
3.运行时许可导致,lic文件丢失.在新建项目的时候如果选中了"运行时许可"这个选项那么在你的项目中会产生一个lic文件,这个文件如果没有一起打包也会导致出现这个问题!
三:关于ActiveX如何设置断点调试
一般ActiveX的测试都是在VC提供的容器里进行了的,编译好.ocx之后,在VC中 工具->ActveX控件测试容器->新控件, 找到自己的OCX,确定,然后就可以看到ActiveX的效果。
但是这样就算设置了断点也断不住,或者如果OCX本身有错的话,也不知道错在哪或者直接就崩溃了,要让断点断住还需要让编译器ATTACH到对应的容器进程
具体的做法是:在测试容器(浏览器或者是vc自带测试容器)打开之后,在VC工具栏中,调试->附加到进程,然后选择你的容器的进程名(比如用VC自带的容器,进程名就是tstcon32.exe,或者 如果用IE浏览器,进程名就是IE的名字。 类推。),然后点击 附加。再到容器里添加ocx,就可以断点调试了。
Regsvr32.exe位于Windows目录的system子目录下。点击Windows的“开始→运行”菜单,在对话框中输入以下命令:(这里以netshare.ocx控件为例)
regsvr32 netshare.ocx 注册netshare.ocx控件
regsvr32 /u netshare.ocx 解除netshare.ocx控件的注册
如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径。
(技巧:在“运行”中输入regsvr32 之后,只要把netshare.ocx按住直接拖到运行框中就行了)
问题:在Vista或W7中经常会有注册时 遇到权限问题,这时就要在 开始->所有程序->附件->命令提示符 (点右键)->以管理员身份登录,再将上面的注册代码写一遍,就ok了
二:关于添加ActiveX时出现 ”未指定的错误 控件无法加载的原因“
1.中文问题:如果你的项目类型是多字节的,而不是unicode编码的,你可能要注意这个问题了,我就发生了这个问题,为了解决这个问题没办法项目重新生成然后一个一个去排除,结果发现在 "copyright 公司名称(C)"的地方多了一个公司名称,是我自己手动加上去的,结果就是这个说明给搞的不能运行
2.acticex运行时需要其他的dll库没有在同一个目录下,或者没有在system32下都会导致这个问题
3.运行时许可导致,lic文件丢失.在新建项目的时候如果选中了"运行时许可"这个选项那么在你的项目中会产生一个lic文件,这个文件如果没有一起打包也会导致出现这个问题!
三:关于ActiveX如何设置断点调试
一般ActiveX的测试都是在VC提供的容器里进行了的,编译好.ocx之后,在VC中 工具->ActveX控件测试容器->新控件, 找到自己的OCX,确定,然后就可以看到ActiveX的效果。
但是这样就算设置了断点也断不住,或者如果OCX本身有错的话,也不知道错在哪或者直接就崩溃了,要让断点断住还需要让编译器ATTACH到对应的容器进程
具体的做法是:在测试容器(浏览器或者是vc自带测试容器)打开之后,在VC工具栏中,调试->附加到进程,然后选择你的容器的进程名(比如用VC自带的容器,进程名就是tstcon32.exe,或者 如果用IE浏览器,进程名就是IE的名字。 类推。),然后点击 附加。再到容器里添加ocx,就可以断点调试了。
相关文章推荐
- 记录看vc++技术内幕 学习mfc时遇到的问题
- VS2010下MFC ActiveX控件与C#编程中间遇到的问题
- 学习MFC时遇到的问题 之 戊子年戌月壬寅日(2008-10-29)
- 从“空项目”创建MFC项目遇到的问题error C1189,error MSB8031
- oracle学习中遇到的问题——用select语句创建现有表的副本
- Android学习实践:1.初次创建Android项目遇到的各种问题
- ionic学习使用笔记(一) 版本更新及创建项目时遇到的问题解决
- mfc多线程学习运行过程中遇到ASSERT问题
- SQL server 学习中遇到的问题—— 阻止保存要求重新创建表的更改
- 学习VC、MFC中遇到的各种问题及解决办法
- 《项目管理利器Maven》学习(七):使用Eclipse创建Maven项目遇到的问题
- 这是我学习COM遇到的几个基本问题其解决 黄森堂(vcmfc)著 1.我用ATL生成一个组件对象,我在COM中使用IDD_IEncrypt,这个在哪里写义,是啥?GUID? 答:IDD_IEncry
- MFC学习中遇到的小问题和解决方案
- MFC关于CBimtap类的使用和创建位图数组的问题【学习笔记】
- 菜鸟学习Python+Selenium遇到的第一个要崩溃的问题
- Extj4 学习过程中遇到的问题
- C++ 关于static variables的学习中遇到的问题总结
- Opencv绘制直方图及创建按钮遇到的问题
- MapReduce(Hbase)学习笔记---初学遇到的问题以及解决办法
- Oracle-01-学习内容&安装遇到的问题记录