2012-04-20 91 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