VS2017写的exe调用Delphi 7写的DLL
2021-04-20 08:29
阅读:554
公司有个很古老的系统,代码量很大,都是Delphi 7写的,要重写是不可能的。因为Delphi 7编译出来的DLL默认的导出符号就是二进制稳定的C符号。
所以,理论上任何语言都可以调用该DLL导出的API。
值得注意的是,在调用导出API的时候任何语言都是利用LoadLlibrary,GetProcAddress的原理来进行调用的。
调用该API的输入输出参数最好要是平坦内存结构,比如C语言类型的结构体,注意结构体字段与Delphi的导出的结构体的字段长度对应一致。
如果是C#,最后用Marshal相关的函数对参数对象进行转换成平台内存结构来做输入输出,这样才能保证不出错。
上一篇:高德地图 API 显示跑步路线
下一篇:转:delphi dpk编译 Error: E2161 RLINK32: Unsupported 16bit resource in file xxx 问题解决
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:VS2017写的exe调用Delphi 7写的DLL
文章链接:http://soscw.com/index.php/essay/77058.html
文章标题:VS2017写的exe调用Delphi 7写的DLL
文章链接:http://soscw.com/index.php/essay/77058.html
评论
亲,登录后才可以留言!