在调用外部DLL时总提示数据类型转换出错.(C++开发)
DLL中声明:
function1(ref object name, ref object id);
在用户手册中, function1的说明为
name 字符型数据
workId 字符型数据
但VS2005中,
无论是将参数声明:
object name = "";
object id = "";
(声明为: string name = ""; string id = ""; 时, VS2005无法通过编译)还是声明为:
object name = new char[100];
object id = new char[30];或者声明为:
object name = new byte[100];
object id = new byte[30];
调用过程中系统总提示: 
System.InvalidCastException: Specified cast is not valid.
请教解决之法.谢谢

解决方案 »

  1.   

    检查数据类型。ref有进有出,out只出不进给个初始值试试~
      

  2.   

    在调用外部DLL时总提示数据类型转换出错.(C++开发)
    DLL中声明:
    function1(ref object name, ref object id);
    在用户手册中, function1的说明为
    name 字符型数据
    workId 字符型数据还是声明为:
    object name = new char[100];
    object id = new char[30];
    或者声明为:
    object name = new byte[100];
    object id = new byte[30];是不是因为数组不能转化为字符型数据啊?