如何使用DLL中包含的标志?

ple*_*103 1 delphi delphi-xe

我正在使用的函数包含三个参数,其中一个参数需要一个标志(fCreationDisposition):

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

文件指出,有五个可用的标志.但是,当我使用任何标志时Delphi告诉我它是一个"未声明的标识符".

为了能够访问标志而没有Delphi告诉我它是一个"未声明的标识符",还有什么额外的东西我必须添加吗?

注意:在uses我要求的功能部分:

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

Rem*_*eau 5

您必须在代码中定义标志.在Delphi中,您必须从头开始定义所有内容,不能像在C/C++中那样使用属于DLL的任何预先制作的API头文件.所以你必须追踪标志数值(因为文档没有提供它们)并在你的代码中声明它们,例如:

// these values are just a guess, you will have
// to download the API and look them up...
const
  MOAU_CREATE_NEW = $1;
  MOAU_CREATE_ALWAYS = $2;
  MOAU_OPEN_EXISTING = $4;
  MOAU_OPEN_ALWAYS = $8;
  MOAU_MAINTAIN_LISTFILE = $10;
Run Code Online (Sandbox Code Playgroud)