2009-10-28 61 views

回答

1

实施例使用GetModuleFileName的:

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

最后两行可以折叠成一个,如'GetModuleFileName()'返回复制的字符的数目,所以所述'的strlen ()'是没有必要的。 – mghie 2009-10-30 17:26:51

+0

更简单: 结果:= PChar(Result); – dummzeuch 2009-10-30 22:13:35

+0

@dummzeuch:看起来更容易,是的。无论如何,在内部调用等效于'StrLen()'。对于那些渴望最小和最快的代码... – mghie 2009-11-02 05:17:39