В проекте Dunit и информации о версии exe отключено, как я могу получить его обратно?

Почему я не могу установить информацию о версии в проекте Dunit Test? Флажок отключен для этого проекта, но не для других проектов. Смотрите скриншот:

2 ответа

Решение

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

Он должен быть там по умолчанию, но иногда он может испортиться при добавлении или удалении модуля из проекта. Когда это произойдет, это будет выглядеть так:

$R *.res} // notice the missing '{'

Если это произошло, и разработчик не знал, на что он смотрел, возможно, он просто удалил оскорбительную строку.

Кроме того, если тестовый проект начинался как проект командной строки, он, возможно, не имел этой директивы для начала.

Проекты модульного тестирования DUnit не создаются, как другие проекты delphi, и поэтому вы видите, что у него нет файла ресурсов по умолчанию, и именно поэтому вкладка versioninfo была отключена, пока вы не установили {$R *.RES} декларация в себе.

Проекты DUnit могут быть построены в одной из двух конфигураций, используя GUI Test Runner (который использует VCL, но который вы обычно не должны изменять, GUI зафиксирован в камне), или бегун теста в консольном режиме. В то время как консольное приложение может иметь связанный файл ресурсов и, следовательно, может иметь информацию о версии, и на самом деле многие консольные приложения делают это, причина, по которой вы видите то, что вы видите, состоит в том, что среда выполнения тестов DUnit и проекты unit-test не являются построен так, как вы привыкли.

Это, в свою очередь, приводит в замешательство IDE, а IDE отключает соответствующие разделы. Вы можете снова добавить {$R}, и это, похоже, сработало, поскольку вы приняли ответ Кеннета, однако я просто хотел добавить некоторую справочную информацию, которая может помочь будущим людям, которые столкнутся с этой проблемой.

Другие вопросы по тегам