有人知道爲什麼FileAge不能使用「c:\ pagefile.sys」? 它返回-1。FileAge與「c: pagefile.sys」不兼容
更新:
發現:這是一個Delphi程序錯誤修正,2010年德爾福(QC Entry 73539),但the PDF我發現沒有解釋他們是如何解決它。
有誰知道他們是如何修復它,所以我可以修復我的德爾福7?
更新: 由Radu Barbu提供的優雅修復!
Delphi 7中,Win 7的(32個比特)
有人知道爲什麼FileAge不能使用「c:\ pagefile.sys」? 它返回-1。FileAge與「c: pagefile.sys」不兼容
更新:
發現:這是一個Delphi程序錯誤修正,2010年德爾福(QC Entry 73539),但the PDF我發現沒有解釋他們是如何解決它。
有誰知道他們是如何修復它,所以我可以修復我的德爾福7?
更新: 由Radu Barbu提供的優雅修復!
Delphi 7中,Win 7的(32個比特)
試試這個:
型TSearchRec的變量(WSR波紋管)負荷的pagefile.sys然後
wSR.FindData.ftLastWriteTime
- 應該返回時,文件訪問
並與功能bellow你應該得到的時間
function FileTime2DateTime(FileTime: TFileTime): TDateTime;
var
LocalFileTime : TFileTime;
SystemTime : TSystemTime;
begin
Result := 0;
try
FileTimeToLocalFileTime(FileTime, LocalFileTime);
FileTimeToSystemTime(LocalFileTime, SystemTime);
Result := SystemTimeToDateTime(SystemTime);
except on e: Exception do
//some message if you want
end;
end;
最好的問候,
調用GetLastError()來獲得由用FindFirstFile()API函數(由FileAge調用)返回的錯誤碼。
更新:德爾福2010年修復回落到FindFirstFile所以最有可能它不會幫助你。他們調用GetFileAttributesEx,如果失敗,他們調用FindFirstFile。並且GetFileAttributesEx應該爲pagefile.sys失敗。所以你確實需要檢查錯誤代碼。
爲什麼GetFileAttributesEx *應該*爲pagefile.sys失敗?這是記錄在哪裏? – 2010-09-29 20:54:14
@Rob肯尼迪它不應該,它只是失敗。在Google上查看關於此的報告。 – 2010-09-30 07:15:38
請注意,FileAge已被棄用。
TFile.GetLastAccessTime(FileName)
可能是一個替代...
不推薦使用帶有2個參數的FileAge版本。我在互聯網上找到了相關信息。 – Ampere 2010-09-29 21:28:23
請參閱下面的更新到我的答案。 – 2010-09-29 19:41:07
您能否修復PDF鏈接以包含* full * URL? – 2010-09-29 20:56:37
QC報告包含解決方法的代碼。這不適合你嗎? – 2010-09-29 20:59:11