Он компилируется на моем компьютере.Хотя я получаю предупреждение, переменная W1036 'IsAllowed', возможно, не была инициализирована.
Обновление: я могу воспроизвести зависание, когда я включаю Windows в предложении использования. Подано в Quality Central: QC93806 .
program hang_test;
{$APPTYPE CONSOLE}
uses
// Windows, // uncomment to include Windows -> hang on compile
SysUtils;
function Test(const FileName: string; const Force: boolean = false): boolean;
// your function here
begin
try
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Это похоже на ошибку;вы должны сообщить об этом в Quality Central .
Обновление 2: минимальный регистр, в котором воспроизводимо зависает компилятор:
function HangCompiler: Boolean;
begin
try
Exit; // 1. exit from a try..finally
finally
DeleteFile(''); // 2. inlined function call in finally (include Windows to inline)
end;
// 3. try..except
try
Result := True;
except
Result := False;
end;
end;