3
我需要將舊的Win98短路徑名稱更改爲長路徑名稱。我有一個可以在Delphi 4下正常工作的例程,但是當我升級到Delphi 2009和Unicode時,它不適用於Unicode字符串。如何正確使用Delphi 2009和Unicode字符串調用GetLongPathName?
我環顧四周,無法找到與Unicode兼容的版本。
看起來使用的正確程序是GetLongPathName from the WinAPI。但它似乎並沒有在Delphi 2009的SysUtils庫中,我還無法弄清楚如何正確聲明它來訪問WinAPI例程。
此外,它看起來似乎很難打電話,因爲我讀過SO問題:Delphi TPath.GetTempPath result is cropped但這並沒有幫助我達到一壘。
有人能解釋一下如何聲明這個函數並在Delphi 2009中正確傳遞一個Unicode字符串嗎?
我相信最後的函數聲明給出:[DCC錯誤]函數需要結果類型 – lkessler 2010-08-20 00:39:22
@lkessler:不,你不必重新聲明函數參數和結果類型在實現部分中,如果它們已經在接口部分中聲明。 – kludg 2010-08-20 01:00:41
謝謝@Serg。它在所有情況下都不起作用,但在稍微修復後,我就開始工作了。我已更新您的答案,以便正確執行。這真的有幫助。 – lkessler 2010-08-20 03:58:10