2012-04-20 74 views
2

我正在將代碼從Visual Basic 6遷移到Visual Basic.NET,但在此之前我需要將其構建。目前我無法獲取它,因爲IDocHostUIHandler的MSHTML中缺少引用。具體來說,我使用DOCHOSTUIFLAG_DIALOG得到了錯誤。我嘗試添加不同的引用,但錯誤保持不變。如果它有什麼區別,我使用IE8運行XP。IDocHostUIHandler缺少Visual Basic 6引用

回答

3

MSDN說IDocHostUIHandler接口是在平臺SDK中的mshtmhst.idl中定義的。我無法在任何DLL或類型庫中找到它,所以您可能需要將IDL編譯到您自己的庫中進行註冊。

您還需要確保沒有將引用列爲「(MISSING)」,因爲這些引用會導致隨機對象引用問題。

+1

+1試試這個。但首先要確保你到處尋找自定義類型庫(tlb),這些自定義類型庫(tlb)是由第一位編寫此代碼的人創建的! – MarkJ 2012-04-20 19:42:22

1

模塊

Public Enum DOCHOSTUIFLAG 
    DOCHOSTUIFLAG_DIALOG = 1 
    DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2 
    DOCHOSTUIFLAG_NO3DBORDER = 4 
    DOCHOSTUIFLAG_SCROLL_NO = 8 
    DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = &H10 
    DOCHOSTUIFLAG_OPENNEWUI = &H20 
    DOCHOSTUIFLAG_DISABLE_OFFSCREEN = &H40 
    DOCHOSTUIFLAG_FLAT_SCROLLBAR = &H80 
    DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = &H100 
    DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = &H200 
    DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY = &H400 
    DOCHOSTUIFLAG_CODEPAGELINKEDFONTS = &H800 
    DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 = &H1000 
    DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 = &H2000 
    DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE = &H4000 
    DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION = &H10000 
    DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION = &H20000 
    DOCHOSTUIFLAG_BROWSER = &H12 
    DOCHOSTUIFLAG_DESKTOP = &H2E 
End Enum 
+0

它不僅僅是一個枚舉,所以這是行不通的。 – JadziaMD 2012-04-20 18:41:37

+0

沒有包含'IDocHostUIHandler'的標準typelib。從VB6中'mshtmhst.idl'聲明實際上將不可用。你可能有一個VB-fied的定製的typelib,所以它可以在VB6中使用。我可以給你這樣的界面版本,但它可能會與你的源代碼編譯版本不同。您必須從原始源代碼找到'tlb'文件。 – wqw 2012-04-22 07:51:18