Что такое .vrc файл, как он создан и вы можете удалить его с помощью среды IDE?

Я пытаюсь установить коммерческий компонент JamShellBrowser, но он не будет установлен.

Я связался с разработчиком, но тем временем я хотел бы знать:

  • Что такое файл vrc?
  • Как это делается?
  • Можно ли его контролировать или модифицировать с помощью Delphi XE4 IDE?

Я проверил справку IDE, но ничего не нашел о файлах vrc, и я искал Delphi vrc и не нашел ничего, что могло бы помочь мне.

Сообщение об ошибке:

Проверка зависимостей проекта...

Компиляция JamShellDelphiXE4.dproj(Release, Win32)

Командная строка brcc32 для "JamShellDelphiXE4.vrc"

c:\program files (x86)\embarcadero\rad studio\11.0\bin\cgrc.exe -c65001 JamShellDelphiXE4.vrc -foJamShellDelphiXE4.res

[Ошибка BRCC32] JamShellDelphiXE4.vrc(2): файл не найден: JamShellDelphiXE2_Icon.ico

Ошибка

Истекшее время: 00: 00: 00.1

Я искал папки компонентов для файла ico, но не существует... таким образом, это сообщение, но даже если я удалю строку MAINICON ICON "JamShellDelphiXE2_Icon.ico" из файла vrc или даже удалю файл vrc, он автоматически создается, когда я попробуйте установить.

Я переехал из Delphi 2010 в XE4 несколько месяцев назад и заметил явно новый файл vrc, но я не знаю, что это такое и как обрабатывать эти файлы.

Ответ 1

Я считаю, что это встроенное поведение IDE Delphi XE4 и XE5, возможно, вызванное ошибкой обновления. Генерация файлов VRC - это то, что вы не можете отключить, за исключением удаления тегов в файле dproj, которые вызывают его создание.

Если бы был способ исправить или удалить его, это могло бы включать сравнение вашего файла dproj с другим файлом dproj и поиск того, что было уместно только для проекта .dpr +.dproj, который каким-то образом попал в ваш .dpk +.dproj проекта, например <Icon_MainIcon>.

Он представляет собой промежуточный файл, который автоматически генерируется, когда проект .dpr +.dproj имеет некоторую информацию о версии, которая должна быть записана из файла .dproj, и во временное место, а затем скомпилирована и связана с вашим приложением как ресурс информации о версии. Тем не менее, я также видел, как он генерируется для проекта .dpk +.dproj, и это тоже меня озадачивает.

Он также, как представляется, содержит ресурс для вашего значка и информации о приложении по умолчанию, а в пакетах обычно нет ресурса iconinfo или приложения.

То, что я нахожу, возможно, является ошибкой в ​​том, что в среде Delphi нет интерфейса, чтобы вы могли установить значок приложения пакета. Тем не менее, я иногда получаю .VRC и файл .ICO. Но я не знаю об исправлении, кроме как сообщить о проблеме Embarcadero Quality Central.

В проекте .dproj промежуточный файл .VRC делает хоть какой-то смысл. Я вижу следующее содержание: информация о версии, значке приложения и VCL Styles (т.е. AquaLightSlate.vsf).

Ответ 2

A .vrc - временный файл, созданный процессом Delphi MSBuild для компиляции файлов ресурсов (.res), которые будут связаны в конечном двоичном выходе. Он передается в CodeGear Resource Compiler/Binder (cgrc.exe) и удаляется после процесса сборки.

Он не появляется нигде в файле .dproj. Это поведение происходит от цели BuildVersionResource, импортированной из $(BDS)\Bin\CodeGear.Common.Targets. Посмотрите на этот файл (и на CodeGear.Delphi.Targets), если хотите лучше понять процесс сборки.

Удаление тега <Icon_MainIcon> из .dproj не достаточно, так как ресурсы VERSIONINFO также могут заставить создать файл .vrc(я считаю, что "vrc" означает "Ресурс версии", хотя он также используется для основного значка в приложениях).

В случае пакетов Delphi всегда помещает информацию о версии в проекты пакетов. Параметр IDE "включить информацию о версии" игнорируется с помощью проектов пакетов.

Итак, если вы (как я)

  • не полагайтесь на Delphi IDE для установки основного значка приложения
  • не полагайтесь на Delphi IDE для установки информационных ресурсов версии; и
  • удастся включить ваши собственные файлы ресурсов для всего

вы можете полностью отключить его создание, установив SkipResGeneration в true в ваш вызов msbuild. Например:.

msbuild.exe myProject /t:Build /p:Config=Release /p:SkipResGeneration=true

Однако это работает только для построений на основе MSBuild. Я не знаю, как сделать то же самое для сборки из Delphi IDE.

Ответ 3

Просто откройте свой @PROJECT @.dproj в любом текстовом редакторе и найдите строки

<Icon_MainIcon>@[email protected]_Icon.ico</Icon_MainIcon>

и удалите их. Вы найдете один для каждого объекта сборки. Сохраните файл, и все готово.

Изменить: оригинальный ответ относится к файлу .dpr, однако обратите внимание, что раздел для редактирования находится в .dproj, поэтому я обновил ответ выше, чтобы отразить это.

Ответ 4

это разъяснение...

Я только что начал устанавливать несколько библиотек компонентов в Delphi RAD Studio XE5, которые я установил в XE2 и XE4. Когда я пытаюсь построить большинство из них, я получаю ту же ошибку.

The problem isn't so much the .vrc file itself, it this particular error:

[BRCC32 Error] <project_name>.vrc(2): file not found: <project_name>_Icon.ico

Я не могу понять способ обойти его, и я понятия не имею, что он ищет или где.

Я стараюсь скопировать мои компоненты libs из одной версии в другую, открывая их, строя их и устанавливая (т.е. те, которые не поставляются с установщиками). Я никогда не видел, чтобы это происходило в предыдущих версиях. Тем не менее, это первый раз, когда я установил RAD Studio; в прошлом у меня только что Delphi. Возможно, это связано с установкой C++?

Ответ 5

Мне пришлось изменить свой файл X.optset, чтобы заставить это работать. X - это название вашей версии Delphi, с которой вы перенесли эти параметры. Мой был PolyDelphiXE2.optset. Однажды я исправил здесь имя, больше не было забавной компиляции, которая привела к другой ссылке на ico.