码迷,mamicode.com
首页 > Windows程序 > 详细

VS2017写的exe调用Delphi 7写的DLL

时间:2018-03-22 19:13:54      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:类型   参数   出错   利用   phi   转换   log   nbsp   mars   

公司有个很古老的系统,代码量很大,都是Delphi 7写的,要重写是不可能的。因为Delphi 7编译出来的DLL默认的导出符号就是二进制稳定的C符号。

所以,理论上任何语言都可以调用该DLL导出的API。

值得注意的是,在调用导出API的时候任何语言都是利用LoadLlibrary,GetProcAddress的原理来进行调用的。

调用该API的输入输出参数最好要是平坦内存结构,比如C语言类型的结构体,注意结构体字段与Delphi的导出的结构体的字段长度对应一致。

如果是C#,最后用Marshal相关的函数对参数对象进行转换成平台内存结构来做输入输出,这样才能保证不出错。

 

VS2017写的exe调用Delphi 7写的DLL

标签:类型   参数   出错   利用   phi   转换   log   nbsp   mars   

原文地址:https://www.cnblogs.com/foohack/p/8625356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!