[英]Array of custom object from .NET to VB6
我已经用C#编写了一个小型库。
在此库中,有两个ComVisible
类。
第一个具有提供自定义对象数组的方法(在第二个类中声明)。
我使用小型c#应用程序测试了库,并且一切正常。 然后我做同样的事情VB6。 当我调用之前描述的方法时,就会出现问题。 我收到类型不匹配错误。
这是BV6代码:
Private Sub Command1_Click()
Dim Flussi As FMDriver.FMDriver
Set Flussi = New FMDriver.FMDriver
[...]
Dim temp() As FMDriver.FM
temp = Flussi.GetElabData(station, codpar, data, tabella, nfunz, tiponfunz)
[...]
这是自定义类FM
[ComVisible(true)]
public partial class FM
{
public FM() { }
[ComVisible(true)]
public double Value { get; set; }
[ComVisible(true)]
public double IDisp { get; set; }
}
任何想法? 如果我仅从响应中提取一个元素,则它可以工作。
编辑:
另一件事
Dim pippo As FM
Set pippo = CreateObject("fmdriver.fm")
pippo.Value = 100
pippo.IDisp = 43
pippo = Flussi.GetElabData( [..cut..] )(4)
在Pippo.Value
有一个正确的值,即GetElabData
在数组的第4个位置返回,但在Pippo.IDisp
该值没有改变,它保持为43
而不是获取新值。
最后,我创建了我的所有beautifull方法,这些方法返回自定义obj(适用于.NET应用程序)和几个专用于VB6的方法,并带有[ComVisible(true)]
标签,该方法返回更简单的值数组(其他方法的结果)。 因此,我认为将自定义Obj返回VB6并不是很可靠,有时甚至根本无法正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.