通过COM从VB6访问嵌套的VB.NET类

时间:2018-07-24 14:36:05

标签: vb.net dll vb6 wrapper inner-classes

我从制造商那里得到了两个.NET DLL,必须在VB6项目中实现。为此,我开始在VB.net based on a Microsoft tutorial中为其编写包装。

我不想只包装函数...我想在VB6项目中使用dll的类。我在VB.net Wrapper DLL中构建了一个COM类,VB6项目的确很好地识别了它。

问题是,当我创建嵌套类时,VB6项目只能识别顶级类,而不能识别该类中的类...

该DLL已注册,我使用了REGASM给我的TLB文件。

这是我做过的一些尝试:

尝试1:

<ComClass(CHRABer.ClassId, CHRABer.InterfaceId, CHRABer.EventsId)>
Public Class CHRABer
    '"Here are the COM-GUIDs"
    Public Sub New()
        MyBase.New()
    End Sub
    Public Structure Test245
        Dim a As Integer
    End Structure

    <ComClass(Volta_Test.ClassId, Volta_Test.InterfaceId, Volta_Test.EventsId)>
    Public Class Volta_Test
        '"Here are the COM-GUIDs"
        Public Sub New()
            MyBase.New()
        End Sub
        Dim a As Integer, b As String, c As Integer

        <ComClass(KD_Test.ClassId, KD_Test.InterfaceId, KD_Test.EventsId)>
        Public Class KD_Test
            '"Here are the COM-GUIDs"
            Public Sub New()
                MyBase.New()
            End Sub
            Sub test()

            End Sub
        End Class
        Sub test()

        End Sub
    End Class
    Sub test()

    End Sub
End Class

尝试2:

在第二次尝试中,我只创建了没有任何COM-GUID的类,依此类推。刚刚创建了一个公共课程,并在该课程中创建了另一个课程。

0 个答案:

没有答案