“处理”数据类型等效

时间:2012-10-02 23:13:15

标签: delphi delphi-xe2 handle

我正在阅读MoPaQ的文档并尝试将函数转换为Delphi,因为文档中提到的某些数据类型与Delphi中的数据类型不直接匹配。

这是我遇到麻烦的功能:

HANDLE WINAPI MpqOpenArchiveForUpdate(LPCSTR lpFileName, DWORD dwCreationDisposition, DWORD dwHashTableSize);

在Delphi中,我将其转换为:

function MpqOpenArchiveForUpdate(lpFileName: Char, CreationDisposition, dwHashTableSize: LongWord); external 'lmpqapi.dll';

我错过了我的函数的返回类型,我相信它是HANDLE(根据文档)。如果是这种情况,那么HANDLE数据类型的Delphi等价物是什么?

1 个答案:

答案 0 :(得分:4)

等价物将是这样的:

function MpqOpenArchiveForUpdate(lpFileName: LPCSTR; 
  dwCreattionDisposition,
  dwHasTableSize: DWord): THandle; stdcall; external 'lmpqapi.dll';

请注意,您必须了解MoPacQ是否支持Unicode;如果不是,请改为将lpFileName的定义更改为PAnsiChar

Remy在下面的评论中指出,Delphi将LPCSTR映射到所有版本的正确PAnsiChar类型,因此您应该以这种方式使用它。

相关问题