【发布时间】:2009-10-28 01:49:30
【问题描述】:
是否可以从 BPL 中获得自己的文件名?例如C:\foo\bar.bpl
(动态加载和delphi7,如果重要的话)
【问题讨论】:
是否可以从 BPL 中获得自己的文件名?例如C:\foo\bar.bpl
(动态加载和delphi7,如果重要的话)
【问题讨论】:
致电GetModuleFileName。对于模块句柄,使用SysInit.HInstance。传递零将为您提供主机 EXE 的文件名,也称为ParamStr(0)。
【讨论】:
GetModuleFileName 的使用示例:
function DLLFileName : string;
begin
SetLength(Result,MAX_PATH);
GetModuleFileName(HInstance,PCHar(Result),MAX_PATH);
SetLength(Result,StrLen(PChar(Result)));
end;
【讨论】:
GetModuleFileName()返回的是复制的字符数,所以StrLen()不是必须的。
StrLen()。对于那些渴望最小和最快的代码的人......