Delphi string类型在dll中供外部调用规则

Delphi 的内存共享机制要求用户在DLL文件中,如果使用了 string 类型传入DLL中的函数(或者过程)或者由DLL中的函数返回,那么在本单元和工程文件中都必须引用 ShareMem 单元,并且一定要保证 ShareMem 单元是本单元引用的第一个单元。例如:uses  ShareMem,SysUtils,  Classes;还有一个要求就是 BORLNDMM.DLL 这个文件也必须和你编写的DLL文件在一起。如果你不想这么麻烦,那就直接使用 PChar 类型,或者 ShortString 类型(最大长度255个字符)。如果你写的DLL不是在Delphi写的程序中调用,建议使用 PChar 类型,否则可能 ShortString 方便一些。同样的问题会出现在当您使用了动态数组时,解决的方法同上所述

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值