FireMonkey应用程序中未声明的标识符“GetProcAddress”

时间:2012-03-16 13:59:20

标签: delphi delphi-xe2 firemonkey getprocaddress

我试图通过Firemonkey框架使用Delphi XE2制作一个插件系统。问题是我收到错误GetProcAddress是未声明的标识符。当我尝试在VCL项目中使用GetProcAddress时,一切正常,那么在谈论GetProcAddress以及如何在Firemonkey应用程序中使用它时,VCL和Firemonkey之间的区别是什么。

由于

3 个答案:

答案 0 :(得分:4)

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

uses
{$IFDEF MSWINDOWS}
  Winapi.Windows,
{$ENDIF}
  System.SysUtils;

答案 1 :(得分:3)

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

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

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

Windows添加到uses子句中。

  

在谈论GetProcAddress

时,VCL和Firemonkey之间有什么区别

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

答案 2 :(得分:0)

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