记录调试OCX程序报错。

本人此次遇见的问题是,在生成mfc程序时,可以生成成功,但是mfc的Dialog窗口文件无法打开,双击打开提示未注册ActiveX控件,然后一段{xxxxx-xxxxx-xxxxx-xxxxx}未注册类似的报错。

代码本身无任何问题。

我的解决方法是:

该程序有dll库未注册,导致在打开Dialog窗口时无法打开,因为它是调用的OCX。所以如果在你计算机上未注册,则无法打开。

找到对应的dll动态库,然后管理员身份打开命令行,切换目录到dll库路径下,

然后输入   regsvr32 xxxx.dll    回车运行。注册成功即可解决上述问题。

在此介绍一下OCX:

OCX 是对象类别扩充组件(Object Linking and Embedding (OLE) Control Extension);是可执行的文件的一种,但不可直接被执行; 是 ocx 控件的扩展名,与 .exe、.dll 同属于PE文件

控件的本质是微软公司的对象链接和嵌入(OLE)标准。由于它充分利用了面向对象的优点,使得程序效率得到了很大的提高,从而得到了广泛的应用。国外有很多公司就是专门制作各种各样控件的。控件的最早形式是以.VBX的格式出现的,后来变成了.OCX。由于Internet的广泛流行,微软公司推出了ActiveX技术,就是从OLE发展起来的,加入了WWW上的功能。所以最流行的是ActiveX控件

ActiveX控件.ActiveX控件是可重用的软件组件。使用它可以很快地在网络应用程序、桌面应用程序、以及开发工具中加入特殊的功能。ActiveX控件的使用者可以无需知道这些组件是如何开发的,便可以完成网页或应用程序的设计。

对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序。OCX提供操作滚动条移动和视窗恢复尺寸的功能。如果你有Windows系统,你会发现在你的Windows地址录里有大量OCX文件名后缀的文件。 对象链接和嵌入(OLE)被设计来支持混合文档(包含多种资料类型,比如文本、绘画图像、声音、动画)。Windows桌面就是一个混合文档的范例,微软使用OLE来建立的。OLE和组件对象模型(COM继OLE后的更常用的概念)支持“即插即用”程序的发展,“即插即用”程序在系统中可以用任何语言写入并可以由任何应用程序动态地使用。这些程序被认为是他们在其上运行的container的组件和应用程序。这种基于组件的近似应用程序的发展缩减了程序调试时间并改善了程序的性能和品质。Windows应用发展程序(比如powerbuilder和Microsoft Access)具有OCX的优势。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐