2012-01-10 3 views
19

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

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

uses 
    Graphics, ColorConv, Classes, Dialogs, ZLib; 

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

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

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

+2

@Downvoter: Пожалуйста, объясните, как это «не полезно»? –

+1

+1. Вы, конечно, не единственный в той же ситуации, и это, безусловно, поможет другим, когда они перейдут на XE2. –

ответ

25

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

+0

Это сделало - я новичок в префиксах пространства имен: D –

+17

Вам не нужно добавлять префикс 'Vcl.' в код, если вы уверены, что' Vcl' включен в список «Единицы измерения количества единиц» в Параметры Projct. –

+0

@fran +1, как это работает с Vcl. префикс? im confused – PresleyDias

4

Проверьте свои пути в 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 и нажав . Введите. Если есть один предопределенный, это может вызвать различные трудности для отслеживания проблем; вы можете безопасно удалить его на каждой машине, с которой я столкнулся. (Щелкните правой кнопкой мыши или Start->Computer, выберите Properties, Advanced System Settings, Environmental Variables.)

+0

Отличные советы, но другой ответ исправил мою проблему: D –

2

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

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

Смежные вопросы