zoukankan
html css js c++ java
C#调用Delphi写的动态链接库
Delphi动态链接库中函数定义为:
function
Encrypt(
const
OrignStr,Key: PChar; NewStr,ErrStr:PChar): Boolean;stdcall;
这里省去上千字的尝试失败过程,只有下面的方法是通过的
[DllImport(
"
Encrypt.dll
"
, CharSet
=
CharSet.Ansi, CallingConvention
=
CallingConvention.StdCall)]
public
static
extern
string
Encrypt(
string
OrignStr,
string
Key, StringBuilder NewStr, StringBuilder ErrStr);
调用代码:
string
key
=
tbxKey.Text;
StringBuilder mw
=
new
StringBuilder();
//
密文变量
StringBuilder err
=
new
StringBuilder();
//
错误信息
myDES.DESEncryptString(tbxYw.Text, key, mw, err);
这里值的注意的是要外传的PChar类型参数,在C#中对应使用StringBuilder,如果使用string没有任何信息传出。
而根据网上说的使用ref string形式,则会出现内存错误。
经过测试:Delphi中
Integer的参数使用C#中的int即可,如果是需要外传的integer参数,则使用out int
查看全文
相关阅读:
精选文章
Eclipse Git插件切换分支的时候不要Reset
Spring ContentNegotiatingViewResolver
Spring3 MVC 类型转换
FTP DOS 命令行
Java xml 解析
Java 实现FTP上传和下载
Hibernate update 和 merge 、saveOrUpdate的区别
Spring MVC 文件下载时候 发现IE不支持
Javasript 正则匹配任意字符
原文地址:https://www.cnblogs.com/baoposhou/p/1168612.html
最新文章
Windows跨域远程连接防火墙设置
Centos上SSH连接过慢原因
Java基础の乱弹琴二:break关键字
Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for …
构建多模块的Maven项目
MyBatis+MySQL 返回插入的主键ID
web.xml文件报错:cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'.
web.xml文件报错:The processing instruction target matching "[xX][mM][lL]" is not allowed.
Java基础の乱弹琴一:assert关键字
Java基础の第二弹 基础语法
热门文章
Java基础の第一弹
Java中的静态方法和单例模式比较
一些面试题记录
Linux常用命令备忘
Maven常用命令备忘
Git常用命令备忘
JPA指南
陈云川的OPENLDAP系列
SOA之(5)——REST的SOA(SOA with REST)概念
SpringMVC返回json的问题
Copyright © 2011-2022 走看看