我有一个用C#编程的DLL,我将其转换为COM对象,以便在VB6应用程序中使用.已将多个方法和属性定义为long类型,当在VB6中访问时,最终显示为"不支持的变体类型".然后我注意到一个在C#中定义的函数:
void Load(long firstNumber, int firstCheckDigit, long lastNumber , int lastCheckDigit)
Run Code Online (Sandbox Code Playgroud)
在我的VB6对象浏览器中显示为:
Sub Load(firstNumber As <Unsupported variant type>, firstCheckDigit As Long, lastNumber As <Unsupported variant type>, lastCheckDigit As Long)
Run Code Online (Sandbox Code Playgroud)
显然,关于这种转换的一些事情是将C#int类型转换为VB6 Long类型,这对我来说不是问题.但是,我确实需要firstNumber和lastNumber变量long都在C#和VB6中.后端的变量不能是int因为输入的某些值的大小.有没有办法做到这一点?或者是DLL端的长类型与COM对象不兼容?
这是准确的,VB6没有64位整数类型.
你需要用int或double来容纳它.后者当然不愉快,但你确实得到15位数.
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |