【ocx疑难杂症0】浅谈OCX开发注册“逐用户重定向”问题

最近按公司要求封装一个OCX,本来很简单的一件事却遇到一个很奇怪的问题。

在编译器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大法的怀抱(此处有坏笑大笑)

原文地址:http://blog.51cto.com/whish/2118018

时间: 2024-08-03 10:14:35

【ocx疑难杂症0】浅谈OCX开发注册“逐用户重定向”问题的相关文章

浅谈游戏开发中碰撞检测

原创整理不易,转载请注明出处:使用Memcached.Spring AOP构建数据库前端缓存框架 代码下载地址:http://www.zuidaima.com/share/1781569917635584.htm 数 据库访问可能是很多网站的瓶颈.动不动就连接池耗尽.内存溢出等.前面已经讲到如果我们的网站是一个分布式的大型站点,那么使用memcached实现数 据库的前端缓存是个很不错的选择:但如果网站本身足够小只有一个服务器,甚至是vps的那种,不推荐使用memcached,使用Hiberna

浅谈webform开发时前台请求后台数据的方法

说到前台请求后台数据,我们一般都是用到AJAX(异步JavaScript和XML) .AJAX 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,我们可以对网页的某部分进行更新.在这里,主要浅谈一下在.net的webform开发时,前台请求后台的两种方式. 1.使用AjaxPro2.dll  (1)AjaxPro2.dll文件可以去网上下载,下载后引用到项目中. (2)引用到项目之后,在web.config里面的<system.web

浅谈混合开发与Android,JS数据交互

本文是作者原创,如转载请注明出处! 一.概论 现在时代已经走过了移动互联网的超级火爆阶段,市场上移动开发人员已经趋于饱和,显然,只会原生APP的开发已不能满足市场的需求,随着H5的兴起与火爆,H5在原生APP中的使用越来越广泛,也就是我们常说的混合开发(Hybrid APP).最新很火的微信小程序相信大家都是知道的,实际上微信小程序加载的界面就是一个HTML5的界面,HTML5界面在一些电商类的APP中主要承担展示数据的作用,但是他的作用并不仅限于此,最起码js调用原生方法和原生调用js的方法是

浅谈前端开发行业背景

自从第一个网站在上个世纪 90 年代初诞生以来,早期的网页完全由文本构成,除了一些小图片和毫无布局可言的标题与段落.然而,时代在进步,接下来出现了表格布局,然后是 Flash,最后是基于 CSS 的网页设计.无可否认,前端页面重构技术也经历着这样的一个过程:table布局页面→DIV+CSS→HTML5+CSS3,seo面对众多的浏览器与平台,Web前端不再是以前那样简单的重复性工作.下面让我们对Web前端开发行业的发展有一个简短的认识. 回首Web前端开发的过去,1991 年 8 月,Tim

浅谈Android开发中Shape的使用

引言 在Android开发中我们很多情况都是使用图片来展示相关效果,今天我就来详细介绍下Android下使用Shape来进行简单UI的开发.一方面这些是Android开发的基础,另一方面这方面的知识可以在一定程度上减少图片的使用,降低App的体积.下面我就来详细介绍Shape的相关知识. 注意点:一般用shape定义的xml文件存放在drawable目录下,若项目没有该目录则新建一个,而不要将它放到drawable-hdpi等目录中. Shape支持的类型形状    rectangle: 矩形,

浅谈 Android 开发文化

质量为王 是的,Google 以#执行为王著称,但#质量为王其实是更应该先做到的重要事项. 对质量水平不高的代码进行优化,会造成不成熟的优化,而不成熟的优化也被成为万恶之源(虽然并非绝对,但大多情况下是这样的). 好消息:像 Square.SoundCloud.Twitter 这样的企业和一些开发者正通过发表演讲.撰写博客,让 Android 开发变得更好,感谢他们!此外, Google 似乎终于对提高 Android 应用程序的质量产生兴趣了!近期, Google 参加了 Android 开发

浅谈前端开发工程师与美工的区别

一. 什么是美工?     美工:意为美术工程师(Art Engineer),一般出身于艺术美术院校的艺术设计专业居多.     根据工作性质美工一般分为平面美工.三维美工.网页美工三大类.     平面美工是由美工用Fireworks 或者 Photoshop 设计出平面外观.     三维美工是由美工用3DMAX等工具进行三维角色模型设计,道具模型设计,环境场景模型设计,包装设计等.     网页美工是美工用Dreamwerver等网页编辑软件把已经设计好的平面效果图,制做成HTML静态网页

浅谈移动开发(一)趋势

移动开发这几年的发展异常迅猛,在这个智能手机普及得像人体器官的时代,游戏.电商移动平台和社交软件给人们生活带来的的巨变.随着移动互联网向各行各业的渗透,企业级的应用也开始发力,专家们预测现阶段已经进入企业级移动应用爆发的时代,各企业级应用平台厂商和IT服务企业对移动开发人才的争夺也日趋激烈. 企业级应用和通用型应用的开发差异并不大,差别在于用户群体的不同,企业级应用就单个应用而言不可能具备几百万级的用户群,因为企业级应用的特殊性其所能带来的价值是相对固定.为了最大的利润,在产出值增长空间不大的前

浅谈软件开发项目如何实现精益生产

精益生产(LeanProduction),简称"精益",是衍生自丰田生产方式的一种管理哲学.精益生产是通过系统结构.人员组织.运行方式和市场供求等方面的变革,使生产系统能很快适应用户需求不断变化,并能使生产过程中一切无用.多余的东西被精简,最终达到包括市场供销在内的生产的各方面最好结果的一种生产管理方式,它的核心是消除浪费,显然软件开发行业也需要这种理念. 不管开发什么产品,都需要首先考虑质量问题.一些软件企业为了降低成本而忽视质量,但质量低下的软件会造成返工的浪费,反而提高成本.相反