我写好的一个COM组件接口如下namespaceIdeaOptics{[ComVisible(true)][Guid("05D6F01F-C52D-4f87-85A7-E850102FA378")]unsafepublicinterfacedrivercom{[DispId(1)]intopenAllSpectro...
我写好的一个COM组件 接口如下
namespace IdeaOptics
{
[ComVisible(true)]
[Guid("05D6F01F-C52D-4f87-85A7-E850102FA378")]
unsafe public interface drivercom
{
[DispId(1)]
int openAllSpectrometers();
[DispId(2)]
String getName(int spectrometerIndex);
[DispId(3)]
String getSerialNumber(int spectrometerIndex);
[DispId(4)]
int getNumberOfPixels(int spectrometerIndex);
[DispId(5)]
double* getWavelengths(int spectrometerIndex);
}
}
之后我在VB中想调用这个组件,已经成功添加引用,代码如下:
Private Sub Command1_Click()
Dim ss As IdeaOptics.Class1
Set ss = CreateObject("IdeaOptics.Class1")
n = ss.openAllSpectrometers()
d = ss.getName(0)
m = ss.getNumberOfPixels(0)
p = ss.getSerialNumber(0)
q = ss.getWavelengths(0);
MsgBox (n)
MsgBox (d)
MsgBox (m)
MsgBox (p)
MsgBox (q)
End Sub
问题是 前面几个 n d m p都可以这样用,为什么调用C# com组件中的 double* 类型会提示错误 函数或接口标记为限制的,或函数使用了VB中不支持的自动类型。 我用的是VB6.0,这个问题要怎么解决啊
求一个大神啊 跪求啊只有10分了
展开