我有一个最奇怪的问题。我已经为我的WinXP设置做了一些事情(我怀疑),以便Delphi XE2和XE4在调试期间表现不正常。使用一个表单和以下
创建一个新项目procedure TForm1.FormCreate(Sender: TObject);
var
FileName : string;
FileDateTime: TDateTime;
Answer : Boolean;
begin
FileName := 'C:\This file does not exist.txt';
Answer := FileAge(FileName, FileDateTime); //This returns with False
FileName := 'This file does not exist.txt';
Answer := FileAge(FileName, FileDateTime); //This throws an exception
//during debugging but not when
//running without debugger.
end;
单步进入SysUtils我看到调用
时抛出了异常function GetFileAttributesEx; external kernel32 name 'GetFileAttributesExW';
在WinApi.Windows.pas
中我可以在上面的示例中为FileAge
切换FileExists
并获得完全相同的结果。
我试图用-r指令启动Delphi(创建一个干净的注册表配置单元),我试图重新安装Delphi。什么都没有帮助。
任何提示在哪里看?对我来说这是一个显示停止因为我发现没有调试器就很难工作。