Я пытаюсь изменить свой код Delphi 2010 для компиляции в XE7 (и хочу сохранить возможность его компиляции в 2010 году). Итак, в блоке, где находится моя основная форма, я добавил условные директивы. Следующее работает отлично в 2010 году
uses
{$IF CompilerVersion >= 24}System.Actions, {$ELSE}Actnlist,{$IFEND}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
Но XE7 автоматически добавляет System.Actions
в конец для создания предложения uses, которое теперь объявляется System.Actions дважды (см. ниже) и дает сообщение об ошибке [dcc32 Error] MyForm.pas(10): E2004 Identifier redeclared: 'System.Actions'
. Почему XE7 не принимает устройство из условной директивы?
uses
{$IF CompilerVersion >= 24}System.Actions, {$ELSE}Actnlist,{$IFEND}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
System.Actions; // <- automatically added