2011-08-23 112 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控制應用程序未註冊?謝謝 –