将vs2010的mfc工程从一台电脑搬到另一台电脑,两台电脑中的路径都是保持一致,居然在新电脑出现了如下Debug Assertion Failed!occcont.cpp Line:925错误。
由于以前这个工程中运用了一个控件ocx文件,以前也遇到过缺少控件注册所产生的一些问题,所以第一想到的就是TeeChart7.ocx没有注册成功。
重新拷贝TeeChart7.ocx文件到c:\Windows\syswow64目录下(Win7 64bit系统),然后在cmd下运行regsvr32 TeeChart7.ocx
运行结果如下图,显示“TeeChart7.ocx”已加载,也存在错误。想当然的以为这个错误是已经加载的控件再次注册产生的。
此时我以为TeeChart7.ocx控件已经正常加载,但是并没有正确运行,怀疑不是TeeChart7.ocx的问题,所以在百度找答案。
百度中有根据vs2010中的错误提示,找答案的。
此问题在vs2010中的错误提示如下
CoCreateInstance of OLE control {FAB9B41C-87D6-474D-AB7E-F07D78F2422E} failed.
>>> Result code: 0x80040154
>>> Is the control is properly registered?
Warning: Resource items and Win32 Z-order lists are out of sync. Tab order may be not defined well.
Detected memory leaks!
Dumping objects –>
下面是错误提示的截图
图中有关键的clsid信息,在百度查找CLSID,查到TeeChart7的clsid {FAB9B41C-87D6-474D-AB7E-F07D78F2422E},下图所示
看来还是没有使用管理员帐号注册TeeChart7.ocx控件的问题。
其实通过管理员注册ocx也不难。找到cmd的路径,Win7 64bit的cmd.exe位于C:\Windows\systme32目录下,找到cmd.exe文件,右键选择“以管理员身份运行”,
出现下图的界面
输入TeeChart7.ocx的路径,进行注册,注册成功如下图所示。
============================
PS:在百度搜索occcont.cpp Line:925或926错误,基本都是控件没有注册成功的,具体是何控件可以通过vs2010中的错误提示进行查找,如果存在clsid的话,基本可以找到唯一的控件。下载对应的控件版本,注册之则ok。