From within a BPL, is it possible to get its own file name? e.g. C:\foo\bar.bpl
(dynamically loaded and delphi7, if it matters)
Call GetModuleFileName. For the module handle, use SysInit.HInstance. Passing zero will give you the host EXE's file name instead, also known as ParamStr(0).
GetModuleFileName
SysInit.HInstance
ParamStr(0)
Example use of GetModuleFileName:
function DLLFileName : string; begin SetLength(Result,MAX_PATH); GetModuleFileName(HInstance,PCHar(Result),MAX_PATH); SetLength(Result,StrLen(PChar(Result))); end;
Copyright © 2021 Jogjafile Inc.
Call
GetModuleFileName
. For the module handle, useSysInit.HInstance
. Passing zero will give you the host EXE's file name instead, also known asParamStr(0)
.