2011-08-23 97 views
0

我是Visual Studio 2005的初学者程序员,在VB中编码,我需要一些帮助。InitializeComponent()错误帮助

我一直在打这个错误,每次我打电话的InitializeComponent():

收到COMException是未处理 没有注册类(从HRESULT异常:0x80040154的(REGDB_E_CLASSNOTREG))

是什么意思?我怎么去呢?

谢谢。

回答

0

看起来像是由于在应用程序中使用的组件未在正在运行的计算机上注册而发生异常。

我假设您正在使用某种非托管COM库,可能是您的窗体上的一个控件?

如果是这种情况,你知道它是哪个组件,你可以使用Regsvr32来注册它。

(Regsvr32的是命令行工具,在注册表中注册的.dll文件作为 命令组件)

为此,打开命令提示窗口,导航到所讨论的DLL和运行以下命令regsvr32.exe filename.dll

如果上述情况不是这样,那么请您发布完整的异常/堆栈跟踪进行分析。

+0

嗨附加应该是完整的异常/ stacktrace http://imageshack.us/photo/my-images/217/classnotregistered.png/谢谢。 –

+0

从你的例外看来,你正在使用某种ActiveX控件。您的控件很可能尚未在操作系统中注册。看看下面的文章:[如何手动注册一个ActiveX控件(.ocx)](http://support.microsoft.com/kb/146219/en-gb) – jdavies

+0

嗯,但有没有办法找出哪个ActiveX控制应用程序未注册?谢谢 –