Ошибка при компиляции: «Vcl.forms.dcu» не найден

Я работал над своим школьным ИТ-проектом дома на более новой версии Delphi (RAD Studio 10 Seattle). Теперь, когда я скопировал свою программу для работы над ней в школе (Delphi 2010), при компиляции выдало ошибку Vcl.Forms.Dcu not found.

Я просмотрел другие вопросы StackOverflow, и моя Библиотека вывода модулей правильно установлена ​​на $(BDSCOMMONDIR)\Dcp, поэтому я не знаю, в чем проблема.


person Stefan    schedule 13.10.2016    source источник


Ответы (2)


Префикс модуля VCL был добавлен в XE2, чтобы различать одноименные модули в VCL и (недавно добавленных) платформах FMX. Удаление префикса Vcl. исправит ошибку.

person J...    schedule 13.10.2016
comment
Для меня это было полной противоположностью, по крайней мере, с Graphics. Добавление Vcl. исправило это. - person Jerry Dodge; 13.10.2016
comment
@JerryDodge Он собирается от D10 к D2010, а не наоборот. - person J...; 13.10.2016

Имена областей действия были введены в XE2, поэтому модуль Vcl.Forms не существует в Delphi. 2010, вместо этого он все еще был известен как Forms.

Правильным решением в этой ситуации будет обращение к юниту Forms в вашем коде просто как Forms, а не как Vcl.Forms. В параметрах проекта в Сиэтле убедитесь, что Vcl указано в поле конфигурации компилятора Имена областей действия.

Таким образом, при компиляции кода D2010 будет искать только Forms.dcu, а Seattle будет искать Vcl.Forms.dcu, когда не сможет найти Forms.dcu.

person Remy Lebeau    schedule 13.10.2016