2012-01-10 5 views
19

डेल्फी XE2 में, मेरे पास डिज़ाइन/रन टाइम पैकेज की एक जोड़ी में एक ही नियंत्रण है। मूल रूप से, सब कुछ ठीक काम कर रहा था। मैंने उनमें से प्रत्येक को पहले से ही कई बार बनाया है। अचानक चेतावनी के बिना, डिजाइन समय पैकेज ने मेरी इकाइयों में से एक में शिकायत शुरू कर दी कि Graphics इकाई निर्माण करते समय अनुपलब्ध है। Graphics एक मानक इकाई है, लेकिन यह इस जगह से नहीं मिली है। मैंने इस इकाई में भी कोई बदलाव नहीं किया है, और जहां तक ​​मुझे पता है, कोई भी बदलाव जो इसे प्रभावित कर सकता है।डिज़ाइन-टाइम पैकेज बनाने में विफल रहता है - फ़ाइल नहीं मिली: 'Graphics.dcu'

यहाँ इस यूनिट के शीर्ष (इंटरफेस) पर बस का उपयोग करता है है:

uses 
    Graphics, ColorConv, Classes, Dialogs, ZLib; 

आप देख सकते हैं, यह एक बहुत ही सरल इकाई है, और मैं केवल इस परियोजना को बहुत ही सरल परिवर्तन करें। इससे कहीं भी इस बारे में शिकायत करना शुरू हो सकता है?

अजीब बात यह है कि अगर मैं इसे इंस्टॉल करता हूं तो यह सब ठीक काम करता है, यह सिर्फ निर्माण नहीं करता है।

वहां बहुत कुछ कोड है, और मुझे पूरी चीज़ पोस्ट करने से नफरत होगी।

+2

@ डाउनवॉटर: कृपया समझाएं कि यह "उपयोगी नहीं" कैसे है? –

+1

+1। आप निश्चित रूप से एक ही स्थिति में एकमात्र नहीं हैं और जब वे XE2 पर जाते हैं तो यह निश्चित रूप से दूसरों की सहायता करेगा। –

उत्तर

25

जंगली अनुमान: इसे Vcl. नेमस्पेस उपसर्ग की आवश्यकता है?

+0

यह किया गया - मैं नेमस्पेस उपसर्गों में नया हूं: डी –

+17

यदि आप सुनिश्चित करते हैं कि 'Vcl'' यूनिट स्कोप नामों की सूची में 'Vcl'' शामिल है, तो आपको कोड में 'Vcl.' उपसर्ग' जोड़ने की आवश्यकता नहीं है। इसके बजाय प्रोजेक्ट विकल्प। –

+0

@fran +1, यह Vcl के साथ कैसे काम करता है। उपसर्ग? मैं उलझन में हूँ – 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 के लिए नया, यदि आप PLATFORM परिभाषित के लिए एक पर्यावरण चर है तो आप (आईडीई के बाहर) देखने के लिए जांचना चाह सकते हैं। कुछ पीसी निर्माताओं (एचपी एक विशेष उदाहरण के रूप में) इस चर को अपने कंप्यूटर पर परिभाषित करते हैं, और यह आईडीई की आवश्यकताओं में हस्तक्षेप करता है। (आईडीई PLATFORM का उपयोग विभिन्न प्लेटफार्मों के लिए उपयोग किए जाने वाले पथों में अस्थायी पर्यावरणीय चर के रूप में करता है, जो आईडीई के बाहर एक पूर्वनिर्धारित होने पर विफल रहता है।) आप कमांड प्रॉम्प्ट खोलकर SET PLATFORM टाइप करके और दर्ज करके जांच सकते हैं। यदि एक पूर्व परिभाषित किया गया है, तो यह समस्याओं को ट्रैक करने के लिए विभिन्न कठोर कारणों का कारण बन सकता है; आप इसे चलाने वाली हर मशीन पर सुरक्षित रूप से इसे हटा सकते हैं। (राइट-क्लिक करें या Start->Computer, Properties, Advanced System Settings, Environmental Variables चुनें।)

+0

ग्रेट टिप्स, लेकिन अन्य जवाब ने मेरी समस्या तय की: डी –

2

अगर वहाँ ग्राफिक्स (या अन्य VCL इकाइयों की तरह: नियंत्रण, रूपों ...) के कई घोषणा कर रहे हैं अपनी परियोजना में, आप VCL नाम स्थान में जोड़ सकते हैं अपनी परियोजना के लिए
इस प्रकार है:

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

संबंधित मुद्दे