2009-10-28 67 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