Как получить динамическое имя файла пакета? - PullRequest
0 голосов
/ 27 сентября 2019

Мое приложение использует пакеты времени выполнения, загружая динамический пакет, например так:

LoadPackage('.\MyPackage.bpl');

MyPackage требуется другой пакет (статически связанный) с именем MyLibrary.bpl, который предоставляет базовые классы.

MyLibrary.bpl:

TMyLibraryObject = class
public
  procedure DoSomething(); virtual;
end;

MyPackage.bpl:

TMyPackageObject = class(TMyLibraryObject);
public
  procedure DoSomething(); override;
end;

В TMyLibraryObject.DoSomething() я хочу получить имя файладинамический пакет, в данном случае "C:\Program Files (x86)\MyApp\MyPackage.bpl".

Я пытался с System.SysUtils.GetModuleName, передавая HInstance в качестве параметра, но он возвращает MyLibrary из MyPackage.

Я также пытался передать GetModuleHandle(nil) в функцию GetModuleName(), но он возвращает исполняемое имя файла.

...