Vb6 IDocHostUIHandler缺少Visual Basic 6参考

Vb6 IDocHostUIHandler缺少Visual Basic 6参考,vb6,vb6-migration,Vb6,Vb6 Migration,我正在将代码从Visual Basic 6迁移到Visual Basic.NET,但在此之前,我需要先构建它。目前我无法构建它,因为在MSHTML中缺少IDocHostUIHandler的引用。具体地说,我使用DOCHOSTUIFLAG_对话框在线上得到错误。我尝试添加不同的引用,但错误保持不变。如果有什么不同,我正在用IE8运行XP。MSDN说,IDocHostUIHandler接口是在平台SDK中的mshtmhst.idl中定义的。我在任何DLL或类型库中都找不到此定义,因此您可能需要将ID

我正在将代码从Visual Basic 6迁移到Visual Basic.NET,但在此之前,我需要先构建它。目前我无法构建它,因为在MSHTML中缺少IDocHostUIHandler的引用。具体地说,我使用DOCHOSTUIFLAG_对话框在线上得到错误。我尝试添加不同的引用,但错误保持不变。如果有什么不同,我正在用IE8运行XP。

MSDN说,
IDocHostUIHandler
接口是在平台SDK中的
mshtmhst.idl
中定义的。我在任何DLL或类型库中都找不到此定义,因此您可能需要将IDL编译到您自己的库中进行注册


您还需要确保没有列为“(缺少)”的引用,因为这些引用会导致随机对象引用问题。

MSDN说,
IDocHostUIHandler
接口是在平台SDK中的
mshtmhst.idl
中定义的。我在任何DLL或类型库中都找不到此定义,因此您可能需要将IDL编译到您自己的库中进行注册

您还需要确保没有列为“(缺失)”的引用,因为这些引用会导致随机对象引用问题。

在模块中尝试此操作

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
在模块中尝试此操作

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

它不仅仅是一个枚举,所以这是行不通的。没有包含
IDocHostUIHandler
的标准类型库。
mshtmhst.idl
声明实际上无法从VB6中使用。您可能有一个自定义构建的typelib,它的接口是VB,因此可以在VB6中使用。我可以为您提供这样的接口版本,但它可能与您的源代码编译时使用的版本不同。您必须从原始源代码/编码器中找到
tlb
文件。它不仅仅是一个枚举,因此这不起作用。没有包含
IDocHostUIHandler
的标准类型库。
mshtmhst.idl
声明实际上无法从VB6中使用。您可能有一个自定义构建的typelib,它的接口是VB,因此可以在VB6中使用。我可以为您提供这样的接口版本,但它可能与您的源代码编译时使用的版本不同。您必须从原始源代码/编码器中找到
tlb
文件。+1。但是首先要确保您已经在所有地方查找了由编写此代码的人创建的自定义类型库(tlb)+1.但是首先要确保您已经在所有地方查找了由编写此代码的人创建的自定义类型库(tlb)!