2008-08-19 11 views
7

कंपनी में जो मैं काम करता हूं, हम सी # में सभी जीयूआई विकसित करते हैं, लेकिन आवेदन कर्नेल मुख्य रूप से डेल्फी 5 (ऐतिहासिक कारणों से) में विकसित होता है, जिसमें कॉम + । आवेदन के इस बहुत ही विशेष प्रकार से संबंधित एक मैं दो प्रश्न: डेल्फी और/या कॉम मेंडेल्फी और कॉम: टीएलबी और रखरखाव के मुद्दे

  • अनुभवी दोस्तों, आप गाड़ी TLB इंटरफेस के साथ काम करने के लिए किसी भी workrounds क्या ज़रूरत है? कुछ कीड़े हैं: आईडीईई एक बड़े टीएलबी के संस्करण के दौरान दुर्घटनाग्रस्त हो गया, विधियों आईडी, टीएलबी भ्रष्टाचार, आदि से गुम हो गया। यहां, हमें कोई अच्छा समाधान नहीं मिला है। असल में हमने नए 2007 संस्करण को अपग्रेड करने का प्रयास किया। लेकिन नए आईडीई टीएलबी इंटरफेस में वही बग है जो हमने पहले पाया था।

  • आप टीएलबी संस्करणों को कैसे नियंत्रित करते हैं? टीएलबी फ़ाइल एक द्विआधारी प्रारूप में है और संघर्ष संकल्प करना बहुत कठिन है। हमने आईडीएल को इंटरफेस विवरण निर्यात करने और सीवीएस में आने की कोशिश की, लेकिन हमें डेल्फी का उपयोग करके आईडीएल से टीएलबी उत्पन्न करने का कोई अच्छा तरीका नहीं मिला। माइक्रोसॉफ्ट द्वारा प्रदान किए गए एमआईडीएल उपकरण, Additionaly, आईडीएफ फाइलों को सही ढंग से पार्स नहीं किया है जिसे हमने डेल्फी से निर्यात किया था।

उत्तर

10

मुझे लगता है कि आप डेल्फी 2009 कॉम समर्थन में परिवर्तन के, द्विआधारी TLB फ़ाइलों के लिए एक पाठ आधारित प्रतिस्थापन सहित डेल्फी 2009

अच्छी तरह से देखने होनी चाहिए।

आप Chris Bensen's blog पर और अधिक पढ़ सकते हैं।

8

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

हालांकि, अब डेल्फी 200 मिडल सिंटैक्स के एक सुरक्षित सबसेट का उपयोग करता है, और बॉक्स में इस मिडल के लिए एक कंपाइलर और आईडीई में एकीकृत, इन समस्याओं को अतीत की बात होनी चाहिए।

5

हमने अभी डेल्फी 200 9 स्थापित किया है और ऐसा लगता है कि टाइपलाइनों के लिए समर्थन में सुधार हुआ है। हालांकि मैंने कुछ समय के लिए COM और टाइप लाइब्रेरी के साथ काम किया है और यहां मेरे सामान्य गठजोड़ हैं जिन्हें मैंने पिछले कुछ वर्षों में पाया है। मैं इसकी सुंदर छोटी गाड़ी से सहमत हूं और डेल्फी 2006 (200 9 का उपयोग करने से पहले हमारे संस्करण) तक सभी तरह से है।

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

हालांकि मुझे लगता है कि आपका सबसे अच्छा समाधान शायद एक अपग्रेड है। आपको यूनिकोड समर्थन भी मिलता है।

2

यहां टीएलबी इंटरफ़ेस के साथ समान अनुभव: हमने बस इसका उपयोग करना बंद कर दिया।

हम अपने ढांचे के विभिन्न हिस्सों के लिए कई अलग-अलग आईडीएल फाइलों (हाथ-निर्माण) के साथ काम करते हैं, जो वास्तविक अनुप्रयोग के आईडीएल में शामिल करने के लिए # अंतर्निहित निर्माण का उपयोग करते हैं, फिर MIDL और tlibimp का उपयोग करके एकल tlb उत्पन्न करते हैं यह। यदि एप्लिकेशन के पास स्वयं का कोई आईडीएल नहीं है, तो विभिन्न ढांचे के पूर्व-संकलित संस्करण टीएलबी फाइलें उपलब्ध हैं।

जब भी ढांचा एक नए संस्करण में प्रवेश करता है, तो आईडीएल फ़ाइलों में सभी आवश्यक इंटरफेस पर GUIDS को पुन: उत्पन्न करने के लिए एक स्क्रिप्ट चलायी जाती है।

इसने हमें कई वर्षों तक अच्छी तरह से सेवा दी है, और हमारे लिए नए डेल्फी 200 आईडीएल/टीएलबी टूलसेट पर जाने के लिए केवल आईडीई में एकीकृत नहीं होना चाहिए, बल्कि स्वचालित निर्माण और क्या नहीं होने पर बहुमुखी भी होना चाहिए। कुछ प्रयोगों के साथ मेरे हाथ गंदे पाने के लिए इंतजार नहीं कर सकता!

3

डेल्फी 2009 का उपयोग कर बहुत बड़ा TLB फाइलों से बाहर दर्द की बहुत ले लिया है, और हमारे मौजूदा वस्तुओं के रूपांतरण पीड़ारहित था, लेकिन हमारे कॉम वस्तुओं किसी भी तीसरे पक्ष के पुस्तकालयों का उपयोग नहीं करते।

लाइब्रेरी विक्रेताओं समर्थित संस्करणों को रिलीज़ करने के बाद हम अपने गुई अनुप्रयोगों को माइग्रेट कर देंगे।

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