2013-09-23 65 views
0

我在vb6中遇到了一些.ocx文件的問題。我有2個組件註冊,但是當我試圖將兩個組件添加到我的項目中時,它說我需要註冊它們。我試圖將新文件複製到sysWOW64文件夾中,但仍不起作用。註冊後向vb6添加組件問題

+0

你已經在他們上面運行過'regsvr32'嗎? – helrich

+0

它是否抱怨組件註冊或關於設計時許可? – Bob77

+0

我確實運行過regsvr32。它抱怨說,當我註冊它們時,這些對象沒有被註冊。 – user2808690

回答

0

當註冊表中存在一些腐敗和衝突時,偶爾會發生這種情況。解決此問題的一種方法是將兩個項目放在項目中的文件夾中,並通過手動添加到參考並選擇本地副本來添加它們,它會自動將其註冊爲新對象,並且通常(雖然不總是)會修復通過標記新路徑來腐敗,它通常可以解決您所面臨的問題。唯一的問題是,在未來的項目中,您可能需要重複該過程或訪問這些項目。

更簡潔的方法是通過在系統上進行高級搜索並查找它們的所有副本來找到系統上文件的所有實例,通常它們都遍佈整個地方。一旦你有這些路徑,你需要regsvr32 /u <filepath.filename>每一個清理從註冊表中刪除它們,然後將它們放置在一個公共區域,然後使用regsvr32 <filepath.filename>從一個位置註冊它們,現在事情應該相當乾淨。

找到您計算機上的所有實例(至少對我來說)

最簡單的方法是簡單的去到命令提示符(如果使用的不是XP更近,那麼作爲管理員),然後只需鍵入:

C: 
cd\ 
dir /s <filename.ext> > c:\files.txt 

,然後等待完成,此時您打開該文件,它應該爲您提供所需文件的所有路徑,您可以輕鬆地將文本文件轉換爲批處理文件,方法是添加需要註銷並運行的命令,瞧,快速和相當無痛。如果在任何時候你沒有註冊,並且對它沒有註冊或不能這樣做的話抱怨,不要擔心,只要承認並繼續。某些OCX和DLL沒有註冊入口點。如果你註冊並且抱怨說它不能這樣做,那麼你幾乎別無選擇,只能通過直接鏈接引用並將它放到你的項目中。最後需要注意的是,除非它們兼容64位,否則根據版本控制和原始OCX的二進制控制,您不需要並且經常不應將它們放入WOW系統文件夾,而是放入system和system32文件夾中。