急!! C#调用delphi的dll问题!!
delphi中有一个加密校验的CRC.dll,想在c#中调用它,老是报试图加载格式不正确的程序
[DllImport( "DES.dll ", CallingConvention = CallingConvention.StdCall)]
public static extern int DecFile(string s1, string s2, string s3); 其中s1,s2,s3分别为源文件路径全名,目的文件路径全名和密钥.
是不是参数s1的路径在delphi中是带 "/ "的而c#是带 "// "传入的?
各位有碰过这样的问题的吗? 请教!!
------解决方案--------------------delphi的dll如果用了string类型那么c#是不能调用的,用了string类型的dll只供delphi调用,除非delphi里面用的是pchar,那么在c#里面可以把类型转换了来调用。
------解决方案--------------------给你个方法:自己写个DLL,然后引用用的DES.dll,调用里面的函数,自己写的这个DLL中可以用下面的形式:
Function EncFile(sSrcFileName, sDestFileName, sKeyFileName :pchar):Integer
begin
result:=加密函数();
end;