2012-03-27 22 views
8

मैं डिनिट टेस्ट प्रोजेक्ट में संस्करण जानकारी क्यों सेट नहीं कर सकता? इस प्रोजेक्ट के लिए चेकबॉक्स अक्षम है, लेकिन अन्य परियोजनाओं के लिए नहीं। आप अपने परीक्षण परियोजना के स्रोत में {$ आर * .res} निर्देश गायब हो सकता हैएक ड्यूनिट प्रोजेक्ट और एक्सई संस्करण जानकारी अक्षम है, मैं इसे वापस कैसे प्राप्त करूं?

enter image description here

+0

एक पूरी तरह से खाली परियोजना शुरू करने का प्रयास करें और देखें कि क्या यह आपको उस सेटिंग को संपादित करने की अनुमति देता है। यदि ऐसा है तो आप जानते हैं कि यह इस परियोजना में कुछ है। सबसे अधिक संभावना एक प्रतिस्पर्धी संस्करण संसाधन की उपस्थिति। –

+0

धन्यवाद, लेकिन मैंने पहले ही ऐसा किया जैसा मैंने कहा "... लेकिन अन्य परियोजनाओं के लिए नहीं।" –

+0

मैंने उन परियोजनाओं का अर्थ लिया जो डुनिट परियोजनाएं नहीं थीं। –

उत्तर

13

: स्क्रीनशॉट देखें। इसे .dpr में होना चाहिए या आप इस सुविधा का उपयोग परियोजना विकल्पों में नहीं कर पाएंगे।

यह डिफ़ॉल्ट रूप से वहां होना चाहिए लेकिन कभी-कभी किसी परियोजना से इकाई को जोड़ने या हटाने के दौरान इसे खराब कर दिया जा सकता है। जब ऐसा होता है यह कैसा दिखाई देगा:

$R *.res} // notice the missing '{' 

अगर ऐसा हुआ और एक डेवलपर पता नहीं था कि वे क्या देख रहे थे वे हो सकता है पर सिर्फ अपमानजनक लाइन को नष्ट कर दिया।

इसके अतिरिक्त, यदि परीक्षण प्रोजेक्ट कमांड लाइन प्रोजेक्ट के रूप में शुरू हुआ है तो हो सकता है कि यह निर्देश शुरू करने के लिए न हो।

+0

वाह! मैंने इसे हटाया नहीं! –

+0

मेरे मामले में (एक्सई 2) डीआरआर में संसाधन लाइन समय-समय पर गायब हो रही हैं। – JustMe

+0

डीपीआर फ़ाइल को आम तौर पर "आईडीई के स्वामित्व" माना जाता है और आपके द्वारा किए गए संपादन को रखने की गारंटी नहीं है। इस प्रकार, यह संभव है कि आईडीई आपके द्वारा जोड़ी गई चीज़ को हटा दे। इस मामले में, आपको इसे अपनी खुद की .pas इकाई में घोषणा जोड़नी होगी, इस तरह कुछ: '{$ R MyVersionInfo.res MyVersionInfo.rc}' –

7

डुनिट यूनिट परीक्षण परियोजनाएं अन्य डेल्फी परियोजनाओं की तरह नहीं बनाई गई हैं, और यही कारण है कि आप देखते हैं कि इसमें डिफ़ॉल्ट रूप से कोई संसाधन फ़ाइल नहीं है, और बदले में, संस्करण संस्करण टैब तब तक अक्षम कर दिया गया जब तक आप {$R *.RES} घोषणा नहीं करते स्वयं।

डुनिट परियोजनाओं को एक जीयूआई टेस्ट रनर (जो वीसीएल का उपयोग करता है, लेकिन जिसे आप आम तौर पर संशोधित नहीं करना चाहिए, जीयूआई पत्थर में तय किया गया है) या कंसोल मोड टेस्ट रनर का उपयोग करते हुए दो कॉन्फ़िगरेशन में से एक में बनाया जा सकता है। जबकि एक कंसोल एप्लिकेशन में एक संसाधन फ़ाइल जुड़ी हो सकती है, और इसलिए संस्करण की जानकारी हो सकती है, और वास्तव में कई कंसोल अनुप्रयोग ऐसा करते हैं, आप जो देख रहे हैं उसे देखते हुए यह कारण है कि डुनिट के टेस्ट रनर फ्रेमवर्क और यूनिट-टेस्ट-प्रोजेक्ट्स नहीं हैं जिस तरह से आप उपयोग किया जाता है उसमें बनाया गया है।

बदले में, आईडीई को भ्रमित करता है, और आईडीई प्रासंगिक वर्गों को अक्षम करता है। आप फिर से {$ R} जोड़ सकते हैं, और ऐसा लगता है कि आपने काम किया है, क्योंकि आपने केनेथ के जवाब को स्वीकार किया है, हालांकि मैं कुछ पृष्ठभूमि जानकारी जोड़ना चाहता था जो भविष्य में उन लोगों की मदद कर सके जो इस समस्या का सामना करते हैं।

+1

बस ध्यान दिया: यदि कोई स्थान .RES के बाद मौजूद है (इस प्रकार {$ R * .RES}) यह समस्या भी मौजूद है। –