Подтвердить что ты не робот

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

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

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

uses
  Graphics, ColorConv, Classes, Dialogs, ZLib;

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

Проверьте свои пути в 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.)

Ответ 3

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

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