Добавление Delphi {$R *.res} в .dpr файле

в этом случае это было связано с захватом ОП ОП. это ожидаемое поведение.

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource#generalize-the-windows-vm-using-sysprep [112 ]

11
задан Fabio Gomes 25 November 2008 в 16:32
поделиться

5 ответов

Возможно, регистрация Вашего .dpr помогла бы проиллюстрировать Вашу проблему. Мои файлы проекта похожи на это и не дают мне проблемы:

program Example;

{$R *.res}

uses
  Unit1 in 'Unit1.pas' {frmUnit1};

begin
  Application.Initialize;
  Application.CreateForm(TfrmUnit1, frmUnit1);
  Application.Run;
end.
6
ответ дан 3 December 2019 в 02:41
поделиться

Это зависит от того, что еще Вы сделали в .dpr файл. Delphi ожидает, что файл, который будет размечен определенным способом, и если Вы изменили его таким способом, которым внутренние синтаксические анализаторы IDE не могут правильно найти определенные вещи, он может не угадать. Первоначально, .dpr файл никогда не предназначался, чтобы пользователь изменил по желанию, и таким образом, он может запутаться. IFDEFS являются наиболее распространенными преступниками, которые могут перепутать синтаксический анализатор IDE.

8
ответ дан 3 December 2019 в 02:41
поделиться

Я получил некоторую "эвристику" для контакта с тем, что IDE смешивает с dpr:

  1. Никакой "сложный" код в основном begin-end-block (т.е. материал с переменными или IFS :-)). Все я должен быть сделан, там выгружается в отдельные стандартные программы. Это, кажется, делает синтаксический анализатор IDE более счастливым.
  2. Если мне нужен $IFDEFs в пункте использования, я делаю "единицу прокси", которая содержит единицы $IFDEFed и помещает это в пункт использования dpr.
4
ответ дан 3 December 2019 в 02:41
поделиться

Это является очень раздражающим, происходит без любых очевидных причин и не может быть предотвращено - насколько я знаю :(

2
ответ дан 3 December 2019 в 02:41
поделиться

Delphi добавляет {$R *.res} в Ваш .dpr файл для соединения .res файла, который он генерирует в приложение. Например, если Вы сохраните свой проект как MyProject.dpr, то Delphi создаст файл MyProject.res, который содержит Ваш значок приложения и информацию о версии, которую Вы указываете в Опциях Проекта в Delphi. Без этого .res файла Ваш .exe не будет иметь значка или информации о версии.

Если Вы получаете дублирующееся предупреждение ресурса, у Вас, вероятно, есть другой {$R} директива компилятора в другом месте в Вашем коде, который также связывается в MyProject.res. Это мог быть дубликат {$R *.res} в Вашем .dpr файле, или {$R MyProject.res} в другом .pas файле. Удалите другую директиву компилятора вместо той, которую Delphi генерирует автоматически, и Ваш проект скомпилирует очень хорошо.

4
ответ дан 3 December 2019 в 02:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: