Необъявленный идентификатор GetProcAddress в приложении FireMonkey - PullRequest
1 голос
/ 16 марта 2012

Я пытаюсь создать систему плагинов, используя Delphi XE2 через платформу Firemonkey.Проблема заключается в том, что я получаю ошибку GetProcAddress - необъявленный идентификатор.Когда я пытаюсь использовать GetProcAddress в проекте VCL, все работает нормально, так в чем же разница между VCL и Firemonkey, когда речь идет о GetProcAddress и о том, как его использовать в приложении Firemonkey.

Ответы [ 3 ]

4 голосов
/ 16 марта 2012

Когда вы компилируете приложение для Windows, используйте Winapi.Windows.GetProcAddress. Если нет, используйте System.SysUtils.GetProcAddress. В этом случае условие использования должно выглядеть следующим образом:

uses
{$IFDEF MSWINDOWS}
  Winapi.Windows,
{$ENDIF}
  System.SysUtils;
3 голосов
/ 16 марта 2012

GetProcAddress - это системный вызов Windows API.
По этой причине ему нет места в кросс-платформенном приложении FMX.

Если вы хотите, чтобы приложение запускалось только в Windows, вы можете добавитьединица, в которой GetProcAddress определено в условии использования.

С: http://docwiki.embarcadero.com/RADStudio/en/Libraries_and_Packages

добавьте Windows к предложению использования.

В чем разница между VCL и Firemonkey, когда речь идет о GetProcAddress

VCL связан конкретно с Windows, Firemonkey (он же FMX) сделан кроссплатформенным и по этой причине не добавляет windows по умолчанию используется предложение.

0 голосов
/ 08 февраля 2019

В OS X ни функции Loadlibray, ни GetProcaddress не определены в sysutils - обе функции включены исключительно в определение POSIX.

...