如何在Windows 7 64位操作系统上解决类未注册错误? [英] How to solve Class not registered error on windows 7 64-bit OS?

查看:274
本文介绍了如何在Windows 7 64位操作系统上解决类未注册错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已将vb6项目转换为使用第三方组件的vb.net 2005.DLL在项目中引用的是:

1. AxCRVIEWERLib.dll

2. AxDTPickerArray.dll

3. AxMSComCtl2.dll

4. AxMSDataGridLib.dll

5. AxMSDataListLib.dll

6. AxMSFlexGridLib.dll

7. AxMSHierarchicalFlexGridLib.dll



现在这在32位PC上运行良好但是当我在Windows 7 64位操作系统上安装此应用程序时,它会在使用第三方组件的那些表单上显示错误...为此我在C:\ Windows \ system32 \和C中注册了COMCT232.OCX: 64位PC上的\ Windows \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ />


我还应该做些什么?请帮帮我..

解决方案

亲blem是CRViewer是一个控件,它是Crystal Reports的一部分。您是否在此计算机上安装了64位版本的Crystal Reports,或者您是否使用了VB6中使用的旧版32位版本?



同样如此对于该列表中的其他控件。如果你在VB.NET代码中使用那些确切的控件,那你就犯了一个大错。没有64位版本的FlexGrid或DataList或HierarchicalFlexGrid控件。从来没有64位版本的VB6,并且永远不会有64位版本的那些cotrols。他们全都弃用了。



如果你想让你的应用程序在64位Windows上本地工作,你将不得不废弃你所拥有的VB.NET代码并重写使用.NET控件和您使用的任何第三方库的64位版本。



如果您希望当前代码在64位窗口上工作,但在32-在bit模式下,你必须重新编译你的项目,但是在进入项目属性并将目标平台类型从AnyCPU更改为x86之后。这将迫使代码仅运行32位。



您不能在同一进程中混合使用64位和32位代码。


intsall visualbacic运行时50和60来自microsoft


以管理员身份运行命令提示符,并执行 regsvr32 COMCT232.OCX

I have converted vb6 project to vb.net 2005 in which third party components are used..DLL''s referenced in projects are:
1. AxCRVIEWERLib.dll
2. AxDTPickerArray.dll
3. AxMSComCtl2.dll
4. AxMSDataGridLib.dll
5. AxMSDataListLib.dll
6. AxMSFlexGridLib.dll
7. AxMSHierarchicalFlexGridLib.dll

Now this runs fine on 32-bit PC''s but when I Install this application on Windows 7 64-bit OS,it shows error on those forms where 3rd party components are used...For that I registered COMCT232.OCX in C:\Windows\system32\ and C:\Windows\syswow64\ folders on 64-bit PC but even though it shows the same error
"Error Creating Form..Class not registered."

What else I should do??Please help me..

解决方案

The problem is CRViewer is a control that''s part of Crystal Reports. Did you install a 64-bit version of Crystal Reports on this machine, or did you use the old 32-bit version you used in VB6??

The same goes for other controls in that list. If you''re using those exact controls in your VB.NET code, you''re making a huge mistake. There are no 64-bit versions of the FlexGrid or DataList or HierarchicalFlexGrid controls. There was never a 64-bit version of VB6 and there never will be 64-bit versions of those cotrols. Their all deprecated.

If you want your app to work natively on 64-bit Windows, you''ll have to scrap the VB.NET code you have and rewrite using .NET controls and 64-bit versions of any 3rd party libraries you use.

If you want your current code to work on 64-bit windows but in 32-bit mode, you''ll have to recompile your project, but after going into the project properties and changing the target platform type from "AnyCPU" to "x86". That''ll force the code to run 32-bit only.

You cannot mix 64- and 32-bit code in the same process.


intsall visualbacic runtime 50 and 60 from microsoft


Run command prompt as administrator, and execute regsvr32 COMCT232.OCX


这篇关于如何在Windows 7 64位操作系统上解决类未注册错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆