2010-07-07 9 views
10

क्या कोड से "संस्करण जानकारी" सेटिंग्स सेट करना संभव है? मैं प्रोजेक्ट विकल्प डायलॉग का उपयोग किये बिना "टिप्पणियां" संपत्ति के लिए वर्जन नंबरिंग और मान सेट करना चाहता हूं।कोड से डेल्फी 7 परियोजना "संस्करण जानकारी" सेट करें?

+1

के स्रोत कोड IOTAProjectOptions की जाँच करें आप थोड़ा इस पर विस्तार से बता सकते हैं? क्या आप ** वास्तव में ** संकलन के बाद अपने EXE के संस्करण को बदलना चाहते हैं? ऐसा करने के लिए आपका एप्लिकेशन कुछ मॉलवेयर के लिए भ्रमित हो सकता है! या आप संकलन समय पर इसे एक बार बदलना चाहते हैं? या शायद संकलन समय के तुरंत बाद? –

+0

मैं संकलन के बाद इसे बदलना नहीं चाहता हूं। मैं केवल कोड में संकलन के लिए मूल्य निर्धारित करना चाहता हूं। – pantarhei

उत्तर

0

आपको एप्लिकेशन संसाधनों को ओवरराइट करना होगा। अच्छा प्रारंभिक बिंदु शायद XN संसाधन संपादक जो स्रोत कोड के साथ आता है किया जाएगा http://www.wilsonc.demon.co.uk/d10resourceeditor.htm

लायक पढ़ने भी Inno सेटअप (जो निष्पादन योग्य उत्पादन के लिए आइकन निर्धारित करता है) है - http://jrsoftware.org/isdl.php

4

मैं एक निर्माण उपकरण का उपयोग कर की सिफारिश करेंगे, जैसे FinalBuilder (जो मैं बहुत उपयोग करता हूं), जो उचित योजना के अनुसार आपके लिए यह कर सकता है। फिर आप जानते हैं कि बिल्ड विकल्प सभी आपकी इच्छानुसार हैं, आपकी संख्या उचित रूप से बढ़ी है, और आप एफ़टीपी साइट पर अपलोड जैसी चीजें कर सकते हैं और बहुत कुछ कर सकते हैं। मेरी स्क्रिप्ट में, बिल्ड नंबर को EXE से इंस्टॉलर और सभी तक सभी तरह से शामिल किया गया है।

+0

+1, विज़ुअल बिल्ड प्रो भी इसके लिए अच्छा है। http://www.kinook.com/VisBuildPro/ –

10

आईडीई आपके लिए प्रबंधित बाइनरी आरईएस फ़ाइल को संपादित करने के बजाय, आपको एक पाठ आरसी फ़ाइल को बनाए रखना आसान हो सकता है जिसमें version-info resource है। संसाधन स्क्रिप्ट फ़ाइल लिखें, और उसके बाद इस तरह की एक लाइन के साथ अपनी परियोजना में शामिल:

{$R resources.res resources.rc} 

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

आईडीई-प्रबंधित संसाधन फ़ाइल में प्रोजेक्ट आइकन भी शामिल है, इसलिए आपको अपनी संसाधन स्क्रिप्ट में भी शामिल करना होगा।

आप संसाधन स्क्रिप्ट को हाथ से संपादित कर सकते हैं, या आप इसे संपादित करने के लिए एक प्रोग्राम लिख सकते हैं या इसे अपने निर्माण चरणों में से एक के रूप में पुन: उत्पन्न कर सकते हैं।

टेक्स्ट संसाधन स्क्रिप्ट का उपयोग करके अतिरिक्त दुष्प्रभाव होता है कि सीवीएस जैसे आपके द्वारा उपयोग किए जाने वाले स्रोत-नियंत्रण प्रणाली में परिवर्तनों को ट्रैक करना आसान होता है।

+2

+1 हम वर्तमान में .bdsproj और .res फ़ाइलों में संस्करण जानकारी का उपयोग कर रहे हैं, और यह एक दुःस्वप्न है। यह परेशानी विलय कर देता है। हमारे पास एक शाखा निर्माता है जो संस्करण की जानकारी को बदलता है और वापस svn में चेक करता है, इसलिए यह कोई समस्या नहीं है, लेकिन जब हम बाद में विलय करने का प्रयास करते हैं तो हम बड़े पैमाने पर भुगतान करते हैं। 99% परिवर्तन हैं .bdsproj और .res फ़ाइलें! हम इसके बजाय एक। आरसी दृष्टिकोण में जाने जा रहे हैं। –

+3

आप प्रोजेक्ट विकल्पों में संस्करण जानकारी सहित बस अक्षम कर सकते हैं, और आपको डिफ़ॉल्ट .res फ़ाइल में सेट किए गए अन्य डेटा को सेट करने में सक्षम होने पर डुप्लिकेट संसाधन त्रुटि नहीं मिलेगी। –

+3

कृपया ध्यान दें कि जब आप {$ * .res} को हटाते हैं, तो आप प्रोजेक्ट विकल्पों द्वारा सेट किए गए मुख्य एप्लिकेशन आइकन को भी खो देते हैं और एक .rc फ़ाइल का उपयोग करके स्वयं को शामिल करने की आवश्यकता होगी। –

4

आपको इसके लिए विज़ार्ड लिखना होगा। बाहर में D7IOTA.HLP फ़ाइल, ToolsAPI इकाई और this thread

+2

डाउनवोट क्यों? यह जवाब वास्तव में प्रश्न के सबसे प्रत्यक्ष उत्तर प्रदान करता है !!! ठीक है, तो यह पता चला है कि प्रश्न का पोस्टर कुछ और के बाद था, लेकिन यह जवाब इसके लिए एक डाउनवोट के लायक नहीं है! यदि कुछ भी * प्रश्न * होना चाहिए। (स्टैक ओवरव्लो को शायद प्रश्न के लिए दो रैंकिंग प्रदान करनी चाहिए: 1 प्रश्न के लिए खुद और दूसरे के लिए सवाल कितना अच्छा था/यह कितना स्पष्ट था/उत्तर देने के लिए आवश्यक वास्तविक प्रश्न के करीब कितना स्पष्ट था) – Deltics

+0

शायद, मेरा समाधान * लगता है * बहुत जटिल :-) हालांकि, आईडीईई परियोजना संसाधनों को विशेष रूप से बनाए रखता है या उपयोगकर्ता को इसे मैन्युअल रूप से करना पड़ता है। यह निर्बाध एकीकरण के लिए एकमात्र तरीका है। –

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