【问题标题】:Return array of objects from VB6 to VB.NET using Interop使用互操作将对象数组从 VB6 返回到 VB.NET
【发布时间】:2015-03-31 01:26:42
【问题描述】:

我在 .NET 中制作了一个 COM dll 用于 VB6,该 dll 在 VB6 中运行良好。

但我想分配数组时遇到问题。

这是 VB.NET 中的 Person 类,Name 属性是一个名为 Class2 的类的数组强>

Public Class Person

  Private _name() As Class2

  Public Property Name() As Class2()
     Get
       Return Me._name
     End Get
     Set
       Me._name = value
     End Set
  End Property

End Class

这是Class2

Public Class Class2

  Private m_id As String

  Public Property id() As String
    Get
      Return m_id
    End Get
    Set
      m_id = Value
    End Set
  End Property

End Class

这是我在 VB6 中使用的代码:

Dim vArray(2) As MyLib.Class2
vArray(0).id = "Hello 1"
vArray(1).id = "Hello 2"
vArray(2).id = "Hello 3"

Dim i As New MyLib.Person
i.Name = vArray ' here throws an error

【问题讨论】:

  • 你得到什么错误?请给我们确切的错误信息吗?

标签: .net vb.net dll vb6 interop


【解决方案1】:

试试

 Dim vArray(2) As Class2
        For index = 0 To vArray.Length - 1
            vArray(index) = New Class2
            vArray(index).id = "Hello " + index.ToString
        Next
        Dim i As New Person
        i.Name = vArray

【讨论】:

  • 请解释一下它的作用,以及为什么你认为它会解决这个问题。此答案目前在低质量队列中。
猜你喜欢
  • 2012-05-16
  • 2023-04-04
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
  • 2011-03-14
  • 2010-11-02
  • 2011-06-28
  • 1970-01-01
相关资源
最近更新 更多