任务: 用Delphi编写的应用程序接受三个字段的结构(Delphi方面的记录).我可以使用SendMessage(Win32 API)函数发送此结构的指针. 所以一个问题是: 如何用Delphi在Delphi的内存中维护某些结构表
用Delphi编写的应用程序接受三个字段的结构(Delphi方面的记录).我可以使用SendMessage(Win32 API)函数发送此结构的指针.
所以一个问题是:
如何用Delphi在Delphi的内存中维护某些结构表示?
它有类型
PWPModPostData = ^ TWPModPostData; TWPModPostData = record DataType: Integer; Data: PChar; Next: PWPModPostData; end;
如何在C中定义它?我的意思是,Delphi结构中是否有隐藏或服务字段?
不,没有隐藏字段,Delphi记录和C结构可以1:1相互映射,但需要注意几点:>不要使用任何数据类型C不了解.这包括对象,动态数组和Delphi字符串.> C和Delphi有时会有所不同关于如何字节对齐字段的想法.测试您的记录并验证他们在C方面工作.如果他们不要,尝试使用打包记录而不是记录.>将指针传递给记录时从C到Delphi,反之亦然确定接收它的一方不试图释放或重新分配记忆.它属于记忆创建它的经理.