मैं बस एमएस विजुअल स्टूडियो कंपाइलर के साथ इस माध्यम से चला गया। हम कुछ विरासत परियोजनाओं को डीएलएल से स्थिर पुस्तकालयों में परिवर्तित कर रहे थे। इनमें से कई डीएलएल में संवाद या स्ट्रिंग संसाधन थे। मैं इन मुख्य डीएलएल के लिए आरईसी स्क्रिप्ट को हमारे मुख्य एप्लिकेशन में संकलित करने में सक्षम था, जिसमें उन्हें मुख्य पाठ की आरसी स्क्रिप्ट फ़ाइल में "टेक्स्टिनकोड" तंत्र के माध्यम से शामिल किया गया था। मुझे सीधे आरसी फाइल को संपादित करके ऐसा करना सबसे आसान लगता है, लेकिन विजुअल स्टूडियो थोड़ा और "जादूगर" तंत्र भी प्रदान करता है। कार्यान्वयन अन्य compilers में सबसे अधिक संभावना है।
.1:
सीधे मुख्य आर सी स्क्रिप्ट में हेरफेर करने के लिए। "2 टेक्स्टिनक्यूएल" अनुभाग में, हेडर फ़ाइल शामिल करें जो आपकी लाइब्रेरी के लिए संसाधन आईडी को परिभाषित करती है। वाक्यविन्यास
2 TEXTINCLUDE
BEGIN
"#include ""my_first_lib_header.h""\r\n"
"#include ""my_second_lib_header.h""\0"
END
.2। "3 टेक्स्टिनकोड" अनुभाग में, अपनी लाइब्रेरी से आरसी स्क्रिप्ट शामिल करें।
3 TEXTINCLUDE
BEGIN
"#include ""my_first_library.rc""\r\n"
"#include ""my_second_library.rc""\0"
END
चरण 3 और 4 अपने आप ही हो जाना चाहिए, लेकिन मैंने पाया इसे और अधिक सिर्फ उन्हें अपने आप को दर्ज करने के लिए है, न कि माइक्रोसॉफ्ट के संसाधन स्क्रिप्ट संकलक के आधार पर चीजों की देखभाल करने के लिए की तुलना में विश्वसनीय था।
.3। अपने पुस्तकालय संसाधन के साथ हेडर फ़ाइल जोड़ें केवल पढ़ने के प्रतीकों की सूची में परिभाषित करता है। यह सूची आमतौर पर फ़ाइल के शीर्ष के पास होती है।
#define APSTUDIO_READONLY_SYMBOLS
#include "my_first_lib_header.h"
#include "my_second_lib_header.h"
#undef APSTUDIO_READONLY_SYMBOLS
.4। APSTUDIO_INVOKED अनुभाग में अपनी लाइब्रेरी की आरसी स्क्रिप्ट शामिल करें। यह आमतौर पर फ़ाइल के नीचे होता है।
#ifndef APSTUDIO_INVOKED
#include "my_first_library.rc"
#include "my_second_library.rc"
#endif
आप इस सब के विजुअल स्टूडियो IDE के माध्यम से स्वचालित रूप से भी कर सकते हैं, लेकिन मैं इसे हमेशा लागू नहीं किया था जब मैं इसे करने की उम्मीद पाया।
- विजुअल स्टूडियो में "संसाधन दृश्य" विंडो खोलें।
- अपने मुख्य एप्लिकेशन की संसाधन फ़ाइल पर राइट-क्लिक करें और संदर्भ मेनू से "संसाधन शामिल है ..." चुनें।
- "केवल-पढ़ने के निर्देश निर्देश" लेबल वाले बॉक्स में, .h फ़ाइलों के लिए विवरण शामिल करें जो आपके पुस्तकालयों के लिए संसाधन आईडी को परिभाषित करते हैं।
- "संकलन-समय निर्देश" लेबल वाले बॉक्स में, अपनी लाइब्रेरी की .rc स्क्रिप्ट के लिए विवरण शामिल करें।
- ठीक क्लिक करें। यह सुनिश्चित करने के लिए कि आप ऐसा करते हैं, आप आरसी स्क्रिप्ट संकलन मैन्युअल रूप से ट्रिगर भी कर सकते हैं।
अपनी लाइब्रेरी के संसाधन स्क्रिप्ट डिस्क पर किसी भी फाइल (पाठ फ़ाइलें, फ़ाइलें, आदि आइकन) का संदर्भ हैं, तो आप यह सुनिश्चित करें कि मुख्य आवेदन परियोजना जानता है, जहां उन्हें खोजने के लिए करने की आवश्यकता होगी। आप या तो इन फ़ाइलों को कहीं भी कॉपी कर सकते हैं आपका एप्लिकेशन उन्हें ढूंढ सकता है या आप कंपाइलर सेटिंग्स में एक अतिरिक्त शामिल पथ जोड़ सकते हैं।
को जोड़ने के लिए एक अतिरिक्त पथ में शामिल हैं:
- गुण अपने मुख्य आवेदन के लिए संवाद खोलें।
- बाएं हाथ नेविगेशन फलक से "कॉन्फ़िगरेशन गुण/संसाधन/सामान्य" का चयन करें।
- गुण सूची में, "अतिरिक्त शामिल निर्देशिकाएं" के बगल में कोई भी प्रासंगिक पथ दर्ज करें।
मैं वास्तव में अपने विकल्प 2 किया है, और यह सब है कि मुश्किल नहीं है। आपको .res फ़ाइल स्वरूप के लिए एक पार्सर भी बनाना होगा, जो अच्छी तरह से प्रलेखित है और बहुत भयानक नहीं है। – slicedlime
@ रोगर लिप्सकोबे क्या आप किसी भी कारण से देख सकते हैं कि दीमित्री सी का जवाब अच्छा विचार क्यों नहीं है? – DataGraham
क्योंकि .RES फ़ाइल को यह सुनिश्चित करने की आवश्यकता है कि यह संसाधन आईडी से टकराव न करे। मेरी # 3 में एक ही समस्या है, सिवाय इसके कि आप इसे कुछ प्रीप्रोसेसर जादू के साथ कम कर सकते हैं। आप दिमित्री के जवाब के साथ ऐसा नहीं कर सकते हैं। –