在 VB6 中引用 COM 库(在 VS2013 中创建)时查看可用函数

Seeing functions available when referencing a COM library (created in VS2013) in VB6

我在VS2013中创建了一个Class库,并向其中添加了一个COMClass并添加了一些功能。我用 VB6 编译并把它带到另一台计算机上,这样它就可以注册然后引用 (.tlb)。

截至目前,我正在使用 CreateObject 调用我的 COM 库中的函数,如下所示:

Dim comObj As Object
comObj = CreateObject("comLibrary.test")
Console.WriteLine(comObj.AddNumbers(5,5))

我是否有机会在智能感知中看到我的 comObj 中的可用函数。我想我可以通过称为 _test 的接口并自动创建我认为在使用 Microsoft 的 COM class.

  Dim comObj As Object

您正在通过 CreateObject() 使用后期绑定。 VB6 IDE 不知道在运行时可能会创建什么样的对象以及它的成员是什么样子。因此它无法显示任何 IntelliSense 信息。

改为使用早期绑定,这是 VB6 程序中的常见选择:

  Dim comObj As New Test

这需要为 .NET 项目添加对 .tlb 文件的引用,即类型库。它告诉 VB6 IDE 类型名称及其成员的名称。您可能需要调整 [ComVisible] .NET class 上的属性,以便它支持早期绑定,只有在您没有明确编写接口时才有必要。你使用 [ClassInterface(ClassInterfaceType.AutoDual)]。请支持声明接口。