c#调用DELPHI的DLL出现“尝试读取或写入受保护的内存。这通常指示其他内存已损坏 请问在c#中怎么调用
本动态库包括函数Delphi编写1-解密函数functionEB_DecryptFile(constifn:PChar;constofn:PChar):Integer;s...
本动态库包括函数Delphi编写1-解密函数
function EB_DecryptFile(const ifn:PChar;const ofn:PChar):Integer;stdcall;external 'EBCryptP.dll';
说明:
ifn:密文文件名,char * 类型,此文件必须存在
ofn:解密后文件名,char * 类型,同名文件会被覆盖
返回结果:Int 型,-1为出错,1为成功。
我已经写出这样的了 [DllImport("EBCryptP.dll", EntryPoint = "EB_EncryptFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int EB_EncryptFile(StringBuilder ifn, StringBuilder ofn);
c = EB_DecryptFile(ifn, ofn);
目前不知道的就是 传入的参数 ifn和ofn是什么类型 如有高手 请出代码 谢谢 展开
function EB_DecryptFile(const ifn:PChar;const ofn:PChar):Integer;stdcall;external 'EBCryptP.dll';
说明:
ifn:密文文件名,char * 类型,此文件必须存在
ofn:解密后文件名,char * 类型,同名文件会被覆盖
返回结果:Int 型,-1为出错,1为成功。
我已经写出这样的了 [DllImport("EBCryptP.dll", EntryPoint = "EB_EncryptFile", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int EB_EncryptFile(StringBuilder ifn, StringBuilder ofn);
c = EB_DecryptFile(ifn, ofn);
目前不知道的就是 传入的参数 ifn和ofn是什么类型 如有高手 请出代码 谢谢 展开
3个回答
展开全部
PChar转到C#中使用ref System.String数据类型就可以了!
追问
可以出代码么 还有 文件路径怎么确定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stdcall,你的dll中函数加入了么?
PASCL种参数是从左往右的,其他的都是从右往左的。
PASCL种参数是从左往右的,其他的都是从右往左的。
追问
加了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把Dll封装成com,ocx再调用
更多追问追答
追问
dll是delphi写好的 我不知道源码啊
追答
再用delphi封装成OCX
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询