我用 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)
在数组的第 4 个位置返回Pippo.Value
正确的值,但值没有改变,它保持不变,而不是获取新值。GetElabData
Pippo.IDisp
43