我有一个用 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
类型转换为 VB6Long
类型,这对我来说不是问题。但是,我确实需要firstNumber
andlastNumber
变量long
同时在 C# 和 VB6 中。后端的变量不能是int
因为输入的某些值的大小。有没有办法做到这一点?还是 DLL 端的 long 类型与 COM 对象不兼容?