日期:2014-05-18  浏览次数:20833 次

凌晨4点真要命 C#调用Delphi dll
function   BuildScript(Param:   PChar):   Integer   ;

delphi的定义

下面是我写的c#调用   可是接受到的Param是空的

[DllImport( "ISCmplr.dll ")]
public   static   extern   int   BuildScript(String   parm);


兄弟们帮帮忙..   感谢...


------解决方案--------------------
CharSet=CharSet.Ansi
------解决方案--------------------
function BuildScript(Param: PChar): Integer;stdcall;
在Delphi中定义的函数必须加上Stdcall;

C#中的定义如下:
[DllImport( "ISCmplr.dll ")]
public static extern int BuildScript(byte[] parm);

如果不行,再尝试
public static extern int BuildScript(ref byte[] parm);

以前搞过,应当可以;C#的String和Delphi Pchar是不一样的;C#中byte和Delphi的Char是一样的。