Пакет времени разработки не может быть собран - Файл не найден: 'Graphics.dcu'

В Delphi XE2 у меня есть один элемент управления в паре пакетов разработки / времени выполнения. Изначально все работало нормально. Я построил каждый из них уже много раз. Внезапно без предупреждения пакет времени разработки начал жаловаться в одном из моих подразделений, что Graphics блок отсутствует, когда я строю. Graphics это стандартная единица, но она не найдена в этом месте. Я даже не внес никаких изменений в это устройство, и, насколько я знаю, каких-либо изменений, которые могут повлиять на это.

Вот только использование в верхней части (интерфейс) этого устройства:

uses
  Graphics, ColorConv, Classes, Dialogs, ZLib;

Как вы можете видеть, это очень простая единица, и я только делаю очень простые изменения в этом проекте. Что могло заставить его начать жаловаться на это из ниоткуда?

Странно то, что все работает нормально, если я его устанавливаю, он просто не собирается.

Там довольно много кода, и я бы не хотел публиковать все это.

3 ответа

Решение

Дикая догадка: это нужно Vcl. префикс пространства имен?

Если в вашем проекте есть несколько объявлений графики (или других блоков VCL, таких как: элементы управления, формы...), вы можете добавить пространство имен VCL в ваш проект
следующее:

project menu-->options-->delphi compiler->>add in "unit scope names" value "Vcl"

Проверьте свои пути в Tools->Options->Environment Options->Delphi Options->Libraryв частности Library Path а также Browsing Path Настройки. Настройки по умолчанию для моей установки XE2 (за исключением тех, которые были добавлены сторонними компонентами и моими собственными материалами):

Библиотека:

c:\program files (x86)\embarcadero\rad studio\9.0\lib\Win32\release;c:\program files (x86)\embarcadero\rad studio\9.0\Imports;C:\Users\Public\Documents\RAD Studio\9.0\Dcp;c:\program files (x86)\embarcadero\rad studio\9.0\include;

просмотр:

$(BDS)\SOURCE\VCL;$(BDS)\source\rtl\common;$(BDS)\SOURCE\RTL\SYS;$(BDS)\source\rtl\win;$(BDS)\source\ToolsAPI;$(BDS)\SOURCE\IBX;$(BDS)\source\Internet;$(BDS)\SOURCE\PROPERTY EDITORS;$(BDS)\source\soap;$(BDS)\SOURCE\XML;$(BDS)\source\db;$(BDS)\source\Indy10\Core;$(BDS)\source\Indy10\System;$(BDS)\source\Indy10\Protocols;$(BDS)\source\fmx;$(BDS)\source\databinding\components;$(BDS)\source\databinding\engine;$(BDS)\source\databinding\graph;$(BDS)\source\fmi;$(BDS)\source\data;$(BDS)\source\data\ado;$(BDS)\source\data\bde;$(BDS)\source\data\cloud;$(BDS)\source\data\datasnap;$(BDS)\source\data\dbx;$(BDS)\source\data\dsnap;$(BDS)\source\data\Test;$(BDS)\source\data\vclctrls;

Кроме того, поскольку вы новичок в XE2, вы можете проверить, есть ли у вас (вне среды IDE) переменная среды для PLATFORM определены. Некоторые производители ПК (например, HP) определяют эту переменную на своих компьютерах, и это мешает требованиям IDE. (IDE использует PLATFORM как временная переменная среды в путях, используемых для разных платформ, которая завершается ошибкой, если одна из них предопределена за пределами IDE.) Чтобы проверить это, откройте командную строку и введите SET PLATFORM и нажав Enter. Если есть один предопределенный, это может вызвать различные проблемы, которые трудно отследить; Вы можете безопасно удалить его на каждой машине, с которой я столкнулся. (Щелкните правой кнопкой мыши My Computer или же Start->Computer, выбирать Properties, Advanced System Settings, Environmental Variables.)

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