Function ks_cmd(cmdName: PwideChar; cmdData: PwideChar): PwideChar; stdcall;
有个dll是delphi写的,代码如上,我想在c#调用这个dll,不知道声明怎么写
StringBuilder或者byte[]然后用 Encoding.编码.GetString
[DllImport(FileDLL,
CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern IntPtr ks_cmd(StringBuilder v_cmdName, StringBuilder v_cmdData);
[DllImport(FileDLL,
CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern IntPtr ks_cmd(byte[] v_cmdName, byte[] v_cmdData);
都试过,得到不正确的值,还有哪位大哥有招?
CharSet.Ansi对应delphi的AnsiString或PAnsiChar,CharSet.Unicode对应delphi的WideString或PWideChar