1

我正在尝试通过 Firemonkey 框架使用 Delphi XE2 来制作一个插件系统。问题是我收到错误 GetProcAddress is undeclared identifier。当我尝试在 VCL 项目中使用 GetProcAddress 时,一切正常,那么在谈论 GetProcAddress 以及如何在 Firemonkey 应用程序中使用它时,VCL 和 Firemonkey 有什么区别。

谢谢

4

3 回答 3

4

为 Windows 编译应用程序时,请使用 Winapi.Windows.GetProcAddress。如果没有,请使用 System.SysUtils.GetProcAddress。在这种情况下,uses 子句应如下所示:

uses
{$IFDEF MSWINDOWS}
  Winapi.Windows,
{$ENDIF}
  System.SysUtils;
于 2012-03-16T15:31:41.243 回答
3

GetProcAddress是一个 Windows API 系统调用。
因此,它在跨平台 FMX 应用程序中没有位置。

如果您只希望您的应用程序在 Windows 上运行,您可以将GetProcAddress定义的单位添加到使用子句中。

来自:http ://docwiki.embarcadero.com/RADStudio/en/Libraries_and_Packages

添加Windows到使用条款。

在谈论 GetProcAddress 时,VCL 和 Firemonkey 有什么区别

VCL 专门绑定到 Windows,Firemonkey(又名 FMX)是跨平台的,因此不会添加windows到其默认使用子句中。

于 2012-03-16T14:06:25.037 回答
0

在 OS X 上,Loadlibray 和 GetProcaddress 函数都没有在 sysutils 中定义——这两个函数都专门包含在 POSIX 定义中。

于 2019-02-08T12:37:30.363 回答