2011-11-08 18 views
11

मैं XE से XE2 तक प्रोजेक्ट माइग्रेट कर रहा हूं और मैंने देखा है कि मुझे मैन्युअल रूप से दर्ज की गई संस्करण जानकारी जैसे कंपनी का नाम, उत्पाद संस्करण इत्यादि याद आ रही है। एक साधारण खाली वीसीएल फॉर्म एप्लिकेशन बनाना मैं देखता हूं कि 'सभी कॉन्फ़िगरेशन - सभी प्लेटफ़ॉर्म' के अंतर्गत संस्करण जानकारी के लिए टाइप किया गया डेटा गायब हो जाता है जब आप उदाहरण के लिए 'रिलीज कॉन्फ़िगरेशन - 32-बिट विंडोज प्लेटफ़ॉर्म' चुनते हैं। मुझे लगता है कि मैं प्लेटफॉर्म के माध्यम से अपनी जानकारी दोबारा दर्ज कर सकता हूं लेकिन यहां क्या चल रहा है? एक 'सभी कॉन्फ़िगरेशन - सभी प्लेटफॉर्म' की जानकारी सभी प्लेटफॉर्म पर फैलाने की अपेक्षा करेगा, जब तक कि संकलित विकल्प आदि की तरह ओवरड्रिन न हो, या क्या मुझे कुछ याद आ रहा है?प्लेटफ़ॉर्म पर डेल्फी XE2 पर संस्करण जानकारी का प्रबंधन कैसे करें

आगे नोट - जैसा कि मैंने आगे की जांच की है, मुझे लगता है कि DDevExtensions का उपयोग करके एक काम है जो 'प्रोजेक्ट' के तहत मेनू विकल्प जोड़ता है। यदि आप 'चयनित पर लागू करें' और 'सभी प्लेटफ़ॉर्म पर संस्करणइन्फो लागू करें' पर दिए गए बॉक्स चेक करते हैं तो आप अपने समूह में अन्य प्रोजेक्ट को प्रभावित किए बिना सभी प्लेटफ़ॉर्म पर प्रदर्शित संस्करण संस्करण की प्रतिलिपि प्राप्त कर सकते हैं।

+3

आईडीई में इन सेटिंग्स का प्रबंधन बस एक दुःस्वप्न है। मैं इसे प्री-बिल्ड स्क्रिप्ट के साथ करता हूं। आप विकल्प विकल्प पर भी विचार कर सकते हैं क्योंकि वे प्रोजेक्ट विकल्प सेटिंग्स की अत्यधिक जटिलता को नियंत्रित करने में मदद करते हैं। –

+0

एफडब्ल्यूआईडब्ल्यू मैंने बाद में पाया है कि इस डीपीआरजे दुःस्वप्न रिमोट डीबगिंग में मेरे लिए काम नहीं कर रहा है। समाधान डीपीआरओजे को हटाना और डीपीआर खोलना, परियोजना के विवरणों को फिर से भरना और भरना है। फिर, रिमोट डीबगिंग काम करता है। –

उत्तर

2

यह XE2 में एक बग प्रतीत होता है जो संस्करण की जानकारी को उच्च से निम्न स्तर तक प्रचारित नहीं करता है। इस मुद्दे पर खोला गया क्यूसी (99428) 7 नवंबर को बंद कर दिया गया था और इसे "16.0.4256.435 9 5 में हल किया गया" के रूप में चिह्नित किया गया था।

उत्पादन के उपयोग के लिए (जब हम XE2 पर स्विच करते हैं), मैं संस्करण की जानकारी को सही करने के लिए फ़ाइनलबिल्डर का उपयोग करूँगा, लेकिन उम्मीद है कि अगले महीने या तो आईडीईई का मिलान करने के लिए मैं उम्मीद करूँगा एफबी से असली संस्करण। लेकिन इस बीच में मैं फिक्स पैक का उपयोग करने के आपके सुझाव का प्रयास करूंगा ...

+0

उपयोगी जानकारी, धन्यवाद। –

+0

मैं संस्करण 16.0.4504.48759 का उपयोग कर रहा हूं और समस्या ठीक नहीं है :-( – truthseeker

2

मुझे विश्वास है कि संस्करण सूचना सामग्री में 'बग' है जहां यह परियोजना फ़ोल्डर में .djproj फ़ाइल में एकाधिक संस्करण कॉन्फ़िगरेशन डाल रहा है ।

यह ठीक लगता है अगर आप लक्ष्य को सभी कॉन्फ़िगरेशन में बदलते हैं तो पहली बार जब आप इसे डेल्फी XE2 में खोलते हैं। फिर एक बार यह लोड हो गया है और लक्ष्य जानकारी को कॉपी करने के लिए केवल बोल्ड प्रविष्टियों पर क्लिक करें। यदि आप गलती से गैर बोल्ड प्रविष्टि पर क्लिक करते हैं तो पाठ डिफ़ॉल्ट पर सेट होता है और .dsproj फ़ाइल में स्थायी बना दिया जाता है।

मैंने इसे निम्नलिखित करके किया है - आपको आवश्यक विवरणों को संशोधित करने की आवश्यकता होगी मेरा सुझाव है कि आप पहले फ़ाइल को देखें - यह आमतौर पर यह स्पष्ट होता है कि यह क्या हो रहा है।

1) कॉपी परियोजना .dsproj फ़ाइल तो परियोजनाओं नोटपैड में .dsproj फ़ाइल

2) यह की पहली घटना का पता लगाएँ खोलें लाइन 40.

3) कॉपी और पेस्ट चारों ओर हो जाएगा इसके ऊपर यह बिट।

<PropertyGroup Condition="'$(Base)'!=''"> 
              <DCC_ExeOutput>**c:\xxx**</DCC_ExeOutput> 
              <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> 
              <VerInfo_Locale>2057</VerInfo_Locale> 
              <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> 
              <VerInfo_AutoGenVersion>true</VerInfo_AutoGenVersion> 
              <VerInfo_MinorVer>12</VerInfo_MinorVer> 
              <Icon_MainIcon>**My_Icon.ico**</Icon_MainIcon> 
              <VerInfo_Release>1</VerInfo_Release> 
              <VerInfo_MajorVer>5</VerInfo_MajorVer><DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;Data.Win;System.Win;Bde;$(DCC_Namespace)</DCC_Namespace> 
<VerInfo_Keys>CompanyName=xxxxxxx; 
FileDescription=**xxxxxxxx**; 
FileVersion=5.12.1.0; 
InternalName=; 
LegalCopyright=2012 xxxxxx Services;LegalTrademarks=**xxxx**; 
OriginalFilename=; 
ProductName=**xxxx**; 
ProductVersion=5.0; 
Comments=</VerInfo_Keys> 
</PropertyGroup> 

4) बदलें और नीचे फ़ाइल में से जानकारी के साथ प्रविष्टियों अभिनय किया है, तो आप नहीं कर सकते आइकन हालांकि मैं पाया है यह है कि अपनी परियोजनाओं के अधिकांश में आप इसे फिर से जोड़ने की आवश्यकता होगी लगता है एक अलग .ico के रूप में फ़ोल्डर में

5) इसके बाद आप सही करने के लिए नीचे सभी अन्य मूल संपत्ति समूह प्रविष्टियों को दूर कर सकते हैं:

      <ProjectExtensions> 
              <Borland.Personality>Delphi.Personality.12</Borland.Personality> 
              <Borland.ProjectType/> 
              <BorlandProject> 
+0

क्यों ईएमबी इसे ठीक नहीं कर रहा है ?! मैं XE3 पर हूं और अभी भी समस्या है। – FLICKER

1

"क्यूसी मैं इस मुद्दे पर खोला (99,428) पर बंद हो गया 7 नवंबर और मार्क डी "16.0.4256.43595 निर्माण में हल" के रूप में।

अलास यह नवीनतम संस्करण 16.0.4358 के रूप में तय नहीं है।45540

यदि आप डेल्फी के पुराने संस्करण से किसी प्रोजेक्ट को माइग्रेट करते हैं, तो यह पुराने कॉन्फ़िगरेशन की प्रति वाली 'सभी कॉन्फ़िगरेशन' स्तर पर संस्करण संसाधन बनाएगा। यह अच्छा है।

यह पूरी तरह से अनदेखा करने के लिए आगे बढ़ेगा - यह वास्तव में वास्तव में खराब है। हमने परीक्षण में काफी देर तक ध्यान नहीं दिया कि हमारी सभी निष्पादन योग्य फाइलों को कॉपीराइट और ट्रेडमार्क जानकारी के साथ बनाया जा रहा था - इसे केवल अनदेखा किया जा रहा था।

एकमात्र समाधान ऊपर की तरह सभी dproj फ़ाइलों को संपादित करना है। वास्तव में इसे किसी को ठीक करने के लिए किसी उपकरण को लिखने की आवश्यकता है .. यह काफी यांत्रिक है & मेरी इच्छा है कि मेरे पास समय हो।

FinalBuilder अच्छा लगता है, लेकिन XE2 के लिए डेवलपर प्रति $ 2k के शीर्ष पर एक लाइसेंस के लिए $ 3.5k हमारे एकाउंटेंट को दिल का दौरा देना होगा ...

+0

हाँ, मैं सहमत हूं। मुझे अपनी डीपीआरजे फाइलों को फिर से बनाना होगा वास्तव में, क्योंकि एक और लंबे डीबगिंग सत्र में मैंने पाया कि डीपीआरओजे जो कई आईडीई के माध्यम से हैं, रिमोट डीबग नहीं होंगे। –

8

यह अभी भी # 16.0.4429.46931 निर्माण में एक मुद्दा है। हालांकि, मैंने पाया कि मैं प्रोजेक्ट की "dproj" फ़ाइल खोलकर समस्या को खत्म कर सकता हूं और सभी संपत्ति <VerInfo_Keys> तत्व को मूल संपत्ति समूह (< संपत्ति समूह स्थिति = "'$ (बेस)' के लिए को छोड़कर हटा सकता हूं! = ' '>)। ऐसा करने से "सभी कॉन्फ़िगरेशन - सभी प्लेटफ़ॉर्म" संस्करण जानकारी को अलग-अलग निर्माण और प्लेटफ़ॉर्म कॉन्फ़िगरेशन में डुप्लिकेट करने की आवश्यकता के बिना विरासत में प्राप्त करने की अनुमति मिलती है।

0

मैंने एक एप्लिकेशन बनाया है, जो रूपांतरण के बाद बाल निर्माण कॉन्फ़िगरेशन संस्करण जानकारी को हटा देगा ... जब मैं एक पुरानी प्रोजेक्ट खोलता हूं तो मैं इसे बंद करता हूं और टूल चलाता हूं। यह सुनिश्चित करेगा कि संस्करण की जानकारी ठीक से विरासत में दी जाएगी (अपडेट 4 इसे हल नहीं करता है)।

+2

दिलचस्प। क्या यह उपलब्ध कराया जा सकता है? –

+1

अवलोकनों और स्वयं के एक उपकरण के लिए निर्बाध प्लग: http: // delphi -divining.blogspot.co.uk/ –