3

ドキュメントに記載されているデータ型の一部が Delphi のものと直接一致しないため、 MoPaQのドキュメントを読み、関数を Delphi に変換しようとしています。

これは私が問題を抱えている機能です:

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

Delphi では、次のように変換しました。

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

私が信じている関数の戻り値の型がありませんHANDLE(ドキュメントによると)。その場合、HANDLEデータ型に相当する Delphi は何ですか?

4

1 に答える 1

4

同等のものは、次の行に沿ったものになります。

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

MoPacQ が Unicode 対応かどうかを確認する必要があることに注意してください。そうでない場合は、代わりに の定義をlpFileNametoに変更しPAnsiCharます。

Remy は、以下のコメントで、Delphi はすべてのバージョンでLPCSTR適切なPAnsiChar型にマップされるため、そのように使用する必要があると指摘しています。

于 2012-10-02T23:22:10.003 に答える