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

时间:2015-01-21 20:35:06

标签: interface com vb6 class-library

我在VS2013中创建了一个类库,并为其添加了一个COM类并添加了一些函数。我编译并使用VB6将其带到另一台计算机,因此可以注册然后引用(.tlb)。

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

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

我是否有机会在intellisense中看到comObj中的可用功能。我以为我可以通过名为_test的界面自动创建我认为在使用Microsoft的COM类时。

1 个答案:

答案 0 :(得分:4)

  Dim comObj As Object

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

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

  Dim comObj As New Test

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