в этом случае это было связано с захватом ОП ОП. это ожидаемое поведение.
Возможно, регистрация Вашего .dpr помогла бы проиллюстрировать Вашу проблему. Мои файлы проекта похожи на это и не дают мне проблемы:
program Example;
{$R *.res}
uses
Unit1 in 'Unit1.pas' {frmUnit1};
begin
Application.Initialize;
Application.CreateForm(TfrmUnit1, frmUnit1);
Application.Run;
end.
Это зависит от того, что еще Вы сделали в .dpr файл. Delphi ожидает, что файл, который будет размечен определенным способом, и если Вы изменили его таким способом, которым внутренние синтаксические анализаторы IDE не могут правильно найти определенные вещи, он может не угадать. Первоначально, .dpr файл никогда не предназначался, чтобы пользователь изменил по желанию, и таким образом, он может запутаться. IFDEFS являются наиболее распространенными преступниками, которые могут перепутать синтаксический анализатор IDE.
Я получил некоторую "эвристику" для контакта с тем, что IDE смешивает с dpr:
Это является очень раздражающим, происходит без любых очевидных причин и не может быть предотвращено - насколько я знаю :(
Delphi добавляет {$R *.res} в Ваш .dpr файл для соединения .res файла, который он генерирует в приложение. Например, если Вы сохраните свой проект как MyProject.dpr, то Delphi создаст файл MyProject.res, который содержит Ваш значок приложения и информацию о версии, которую Вы указываете в Опциях Проекта в Delphi. Без этого .res файла Ваш .exe не будет иметь значка или информации о версии.
Если Вы получаете дублирующееся предупреждение ресурса, у Вас, вероятно, есть другой {$R} директива компилятора в другом месте в Вашем коде, который также связывается в MyProject.res. Это мог быть дубликат {$R *.res} в Вашем .dpr файле, или {$R MyProject.res} в другом .pas файле. Удалите другую директиву компилятора вместо той, которую Delphi генерирует автоматически, и Ваш проект скомпилирует очень хорошо.