如题:com中定义,
long MyArrayTest(VARIANT* vararr);。net中,封装后,
public virtual int MyArrayTest(ref object vararr);调用代码,
string[] strarr = new string[3]{"aaa", "bbb", "ccc"};
System.Object strobject = strarr;
axMfcComArray1.MyArrayTest(ref strobject);
----
编译也通过了, 但是,倒运行得时候, 就有错误了, 抛出了一个异常,未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 mscorlib.dll 中。其他信息: 类型不匹配。 (异常来自 HRESULT:0x80020005 (DISP_E_TYPEMISMATCH))请问各位高手, 该怎么传这个参数呢????
long MyArrayTest(VARIANT* vararr);。net中,封装后,
public virtual int MyArrayTest(ref object vararr);调用代码,
string[] strarr = new string[3]{"aaa", "bbb", "ccc"};
System.Object strobject = strarr;
axMfcComArray1.MyArrayTest(ref strobject);
----
编译也通过了, 但是,倒运行得时候, 就有错误了, 抛出了一个异常,未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 mscorlib.dll 中。其他信息: 类型不匹配。 (异常来自 HRESULT:0x80020005 (DISP_E_TYPEMISMATCH))请问各位高手, 该怎么传这个参数呢????
解决方案 »
- CString 转换为unsigned char数组
- ACCESS数据库里的BOOL值要怎样获取
- 如何在调试时显示原始图像?
- windows vista 下的开发方法有没有大的改变,能不能和sdk vc6 mfc兼容?
- 为什么这段代码中内存会出错??
- 如果不相信我有8000多的可用分的话,你就叫版主封了我的ID
- CAsyncSocket类编写类似QQ程序时遇到的问题(2)
- 怎么判断线段与一个矩形或者圆相交?方法越多越好,不要是初中的那种解法。没意思。
- 用程序实现OE邮件的复制,增加,删除操作(vc)?急!!!!!
- 简单问题!来抢分!(可惜只能给231分)
- 如何在COM组件中添加设置回调函数的接口?
- 求救:寻socket编程实例
楼主应该看看VARIANT是什么数据类型,C#中的object 不是万能地
在 Visual Basic 6.0 中,Variant 用作通用数据类型。这意味着可在类型为 Variant 变量中存储任意类型的数据。 Visual Basic .NET
在 Visual Basic .NET 中,Object 是通用数据类型。类型为 Object 的变量可存放任意类型的数据。不支持 Variant 类型,其所有功能由 Object 提供。 Variant 在 Visual Basic .NET 中仍是保留字,即使它无语法用途。这有助于避免与其以前的含义相混淆。 VarType 函数返回提供对象变量数据类型分类的 VariantType 枚举的成员。您还可以使用 System 命名空间中的类来获得 Object 实例的数值数据类型信息,如以下代码所示:Dim SomeObj As Object
' ... ... ... ... SomeObj is assigned some value during processing.
' ... ... ... ... Now we want to find out the data type of SomeObj.
Dim Dtype As Integer ' To hold numeric data type result.
Dtype = Type.GetTypeCode(SomeObj.GetType())
。net中 是, (object data)时, 传参数给 com得时候, 并没有错误, 但是再VARIANT* data 得时候, 就有问题 ????指针该怎么传呢????
选[in]时,对应。NET就是ref object data
选[out,retval]时,对应。NET就是函数的返回值