Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
如何将C/C++程序转译成Delphi(九)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Case Integer of starts the variant part of the record. Each variant is identified by an ordinal value. This value has no meaning when the type is being used, but is required for declaration.

Please note the difference between a variant (case-) record and a record without case-declaration.

The following translation is wrong:

type



  PProcessHeapEntry = ^TProcessHeapEntry;



  TProcessHeapEntry = Record



    lpData: Pointer;



    cbData: DWord;



    cbOverhead: Byte;



    iRegionIndex: Byte;



    wFlags: Word;



    Block: Record



       hMem: Thandle



       Reserved : Array [0..2] of DWord;



    end;



    Region: Record



      dwCommittedSize: DWord;



      dwUnCommittedSize: DWord;



      lpFirstBlock: Pointer;



      lpLastBlock: Pointer



    end);



  end;

This wrong translation would cause Block and Region to be consecutive in memory, and not overlaid, as follows:

LpData, cbData, cbOverhead, iRegionIndex, wFlags HMem, dwReserved DwCommittedSize, dwUnCommittedSize, lpFirstBlock, lplastBlock


Back to contents




相关文章

相关软件