【ocx疑难杂症0】浅谈OCX开发注册“逐用户重定向”问题
最近按公司要求封装一个OCX,本来很简单的一件事却遇到一个很奇怪的问题。
创新互联建站-专业网站定制、快速模板网站建设、高性价比海安网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式海安网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖海安地区。费用合理售后完善,十年实体公司更值得信赖。
在编译器vs2010编译后注册报“逐用户重定向”
当时在莫度的带领下差点全军覆灭,提到2点解决方案(狗比膏药--坑的一逼)
1.改工程属性从DLL为lib
变成
这种方案虽然编译器是过去了但是regsvr32注册没一点反应。
2.改链接器配置
这个更狠,编译器都过不了。
以上为爬坑分割线,下面来点干货
当时调用其它的DLL动态库,还有OCX事件又是合作开发,没办法先缩小问题范围
把事件删了-----外甥打灯笼--照旧
把工程分割开 ---- 本人的没问题(当时高兴的有一种要甩键盘的冲动)
合作开发一个team不能拉下弟兄不管,就帮弟兄逐步缩减范围。。。。
直到我们注释了一个调DLL的函数(静态方式调用,及.h+lib)发现
成了。。。。真成了
解决方案1:
OCX工程中静态调用DLL的接口,且参数是函数指针 既有可能是这个原因
解决方案2:
后面需要在OCX用到多线程,但多线程__stdcall方式来进行资源管理的,而在多线程方法里需要用到OCX事件,
当时脑袋一热不就是new个OCX的XXCtrl对象,然后对象.事件解决。(too young too simple)
JS崩溃了,JS崩溃了,JS真的无情的崩溃了(此处有n!+1个F**K)
开动小脑筋,多线程方法里不能NEW,设一个全局变量不就OK了
然后遇到了多年未见的老朋友(“注册失败 逐用户重定向”),虽然才1天没见,但见到不希望见到的总感觉
快过了一辈子。
OCX工程代码重新new控制类对象 既有可能是这个原因
解决办法是:老子删了多线程代码,投入while大法的怀抱(此处有坏笑大笑)
文章题目:【ocx疑难杂症0】浅谈OCX开发注册“逐用户重定向”问题
分享网址:http://myzitong.com/article/pjppeo.html