web-dev-qa-db-ja.com

設計時パッケージがビルドに失敗する-ファイルが見つかりません: 'Graphics.dcu'

Delphi XE2では、デザイン/ランタイムパッケージのペアに1つのコントロールがあります。元々、すべてが正常に機能していました。私はそれらのそれぞれをすでに何度も構築しました。突然警告なしに、デザインタイムパッケージが私のユニットの1つで、ビルド時にGraphicsユニットがないと不平を言い始めました。 Graphicsは標準の単位ですが、この1つの場所からは見つかりません。私はこのユニットに何も変更を加えていません。私が知る限り、これに影響を与える可能性のある変更はありません。

このユニットの上部(インターフェース)での使用法は次のとおりです。

uses
  Graphics, ColorConv, Classes, Dialogs, ZLib;

ご覧のとおり、これは非常に単純なユニットであり、このプロジェクトには非常に単純な変更のみを加えています。何が原因でこれについて不平を言うのでしょうか?

奇妙なことに、インストールしても問題なく動作しますが、ビルドされません。

かなりの量のコードがあり、全部を投稿する必要はありません。

23
Jerry Dodge

ワイルドな推測:Vcl.名前空間プレフィックス?

32
François

プロジェクトにグラフィックス(またはコントロール、フォームなどの他のVCLユニット)の宣言が複数ある場合は、VCL名前空間をプロジェクトに追加できます。
次のように:

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

Tools->Options->Environment Options->Delphi Options->Libraryのパス、特にLibrary PathBrowsing 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は初めてなので、PLATFORMの環境変数が定義されているかどうかを(IDEの外部で)確認することをお勧めします。一部のPCメーカー(特定の例としてHP)はこの変数をコンピューターで定義しており、IDEの要件に干渉しています。 (IDEは、異なるプラットフォームで使用されるパスの一時的な環境変数としてPLATFORMを使用します。IDEの外部に事前定義されているものがある場合、これは失敗します。)コマンドプロンプトを開いて確認できます。 SET PLATFORMと入力して、 Enter。定義済みのものがある場合、さまざまな追跡困難な問題を引き起こす可能性があります。私が遭遇したすべてのマシンで安全に削除できます。 (My ComputerまたはStart->Computerを右クリックし、PropertiesAdvanced System SettingsEnvironmental Variablesを選択します。)

5
Ken White