我有一个用C#编写的DLL,我正在将其转换为COM对象以在VB6应用程序中使用。 我定义了几种方法和属性类型为long
,但在VB6中访问时会显示为“不支持的变量类型”。后来我注意到,在C#中定义的一个函数如下:
void Load(long firstNumber, int firstCheckDigit, long lastNumber , int lastCheckDigit)
在我的VB6对象浏览器中显示为:
Sub Load(firstNumber As <Unsupported variant type>, firstCheckDigit As Long, lastNumber As <Unsupported variant type>, lastCheckDigit As Long)
显然,这种转换将C#中的
int
类型转换为VB6中的Long
类型,对我来说这不是问题。然而,我需要在C#和VB6中将firstNumber
和lastNumber
变量都设为long
。由于输入值的大小,后端变量不能为int
。有什么方法可以做到这一点吗?还是DLL侧的long类型与COM对象不兼容?