在c#中调用DELPH编写的DLL的函数时出现未将对象引用到实例的错误: delphi编写的dll中函数声明:function DeliverfromEsm(var Smtype, Content,Caller:pchar):integer;
Content:短信内容或报告(若Smtype为即时消息或离线消息,则Content表示短信内容;否则,Content表示返回的状态报告情况); Content表示返回的状态报告Report结构: DWORD TaskID; //客户端序列号 TaskID DWORD MsgID; //客户端序列号 MsgID char UserNumber[22]; //接收手机号 unsigned char state; //状态 unsigned char ErrCode; //错误代码 我在c#中声明: [DllImport("EsmApi.dll",CharSet = CharSet.Ansi,CallingConvention = CallingConvention.StdCall)] static extern int DeliverfromEsm(ref string smtype,ref string content,ref string caller); 调用: string smtype=""; string content=""; string caller=""; int reportval=DeliverfromEsm( ref smtype,ref content,ref caller); 出现未将对象引用到实例的错误
以下是解决办法:
声明:
[DllImport("EsmApi.dll",CharSet = CharSet.Ansi,CallingCon