FileAge与“c:\ pagefile.sys”不兼容
有人知道为什么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