获取BPL文件名

4

在BPL内部,是否可以获取其自身的文件名?例如:C:\foo\bar.bpl

(如果是动态加载和Delphi 7,则可能会有所不同)

2个回答

8

1

使用GetModuleFileName的示例:

function  DLLFileName : string;
begin
  SetLength(Result,MAX_PATH);
  GetModuleFileName(HInstance,PCHar(Result),MAX_PATH);
  SetLength(Result,StrLen(PChar(Result)));
end;

最后两行可以合并为一行,因为GetModuleFileName()返回复制的字符数,所以不需要StrLen() - mghie
更加容易: Result := PChar(Result); - dummzeuch
@dummzeuch:看起来更简单了,是的。调用等效的StrLen()内部函数。对于那些渴望最小和最快代码的人…… - mghie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接