当前位置 : 主页 > 编程语言 > delphi >

delphi记录和c结构

来源:互联网 收集:自由互联 发布时间:2021-06-23
任务: 用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,反之亦然确定接收它的一方不试图释放或重新分配记忆.它属于记忆创建它的经理.

网友评论