В проекте Dunit и информации о версии exe отключено, как мне вернуть его обратно? - PullRequest
8 голосов
/ 27 марта 2012

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

enter image description here

Ответы [ 2 ]

13 голосов
/ 27 марта 2012

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

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

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

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

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

7 голосов
/ 27 марта 2012

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

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

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

...