2011-06-27 9 views
9

ठीक है - हमारे पास एक दिलचस्प समस्या है।क्या डेल्फी एक्सई में डेटास्नाप पैकेज को इंडी के एक नए/अलग संस्करण के साथ पुन: संकलित करना संभव है?

कुछ पृष्ठभूमि:

  1. हमारा मुख्य आवेदन इंडी से 10 का उपयोग करता है लेकिन, हम इंडी 10 स्रोत लेने के लिए और उस में कीड़े को ठीक, पुनः संकलित, और इंडी घटकों के अपने स्वयं के सेट स्थापित करें।

  2. हम डेल्फी एक्सई में माइग्रेट कर रहे हैं और डेटास्नाप का उपयोग शुरू करना चाहते हैं।

  3. डेटा स्नैप को इंडी के "आधिकारिक, शिपिंग" संस्करण की आवश्यकता है जो इंडी के हमारे अनुकूलित संस्करण के साथ असंगत है।

  4. हमारे डेटा स्नैप सर्वर अलग-अलग एप्लिकेशन होंगे, लेकिन चूंकि हम आईडीई में अपना स्वयं का इंडी स्थापित करते हैं, इसलिए हम "स्ट्रीम को पार नहीं कर सकते"।

ठीक है, इसलिए, हम इस संगतता समस्या के कारण डेल्फी XE के DataSnap बॉक्स से बाहर का उपयोग करने में असमर्थ हैं।

तो मेरे सवालों का यह है:

यह इंडी का एक नया/अलग संस्करण के साथ डेल्फी XE में DataSnap संकुल पुन: संयोजित करना संभव है?

आपके विचार कृतज्ञता से स्वीकार किए जाते हैं।

+0

डेटा इंडैप आपके इंडी संस्करण के साथ क्यों काम नहीं करता है? क्या आप इंटरफ़ेस बदल रहे हैं? –

+0

मैं इन पैकेजों के लिए कभी भी डीपीके नहीं ढूंढ पाया। –

+0

@ डेविड - हम्म। निश्चित नहीं। जांच कर रहा है .... और वे कहते हैं कि वे इस पर विश्वास नहीं करते हैं। यह समाधान का मार्ग हो सकता है - शिपिंग फ़िक्स पर हमारे फ़िक्स लागू करें। हम इंडी के एक नए संस्करण का उपयोग कर रहे हैं, लेकिन एक्सई शिपिंग संस्करण काम कर सकता है। –

उत्तर

3

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

संबंधित तो सवाल यह देखें: http://www.indyproject.org/Sockets/Docs/indy10Installation.de.aspx जिसमें कहा गया है:

नोट: में डी/सीबी/रेड 2009+, DataSnap इंडी का उपयोग करता Is it possible to use Indy 10.5.8.0 in Delphi XE and DataSnap?

इसके अलावा इंडी परियोजना पृष्ठ देखें आंतरिक रूप से 10। इंडी का नया संस्करण स्थापित करने से डेटास्नाप अनुपयोगी होगा, क्योंकि यह अब इंडी पैकेज लोड करने में सक्षम नहीं होगा। डेटास्नाप को इंडी पैकेज के साथ संकलित किया गया है जो आईडीई के साथ शिप करते हैं, और डेटास्नाप को उपयोगकर्ताओं द्वारा पुन: संकलित नहीं किया जा सकता है। यदि आपको डेटास्नाप, का उपयोग करने की आवश्यकता है तो आपको मूल इंडी 10 पैकेज डेटास्नाप परियोजनाओं में उपयोग के लिए बनाए रखने की आवश्यकता होगी।

ऐसा कहा गया है कि अगले संस्करण को उम्मीद है कि इंडी के आसान अपडेट की अनुमति देनी चाहिए।

+1

सुनहरा नियम: कभी भी पूर्ण स्रोत कोड के बिना घटकों का उपयोग न करें – mjn

+4

एम्बरकाडेरो आगामी XE2 रिलीज में डेटास्नाप/इंडी इश्यू को संबोधित करेगा ताकि उपयोगकर्ता अब डेटास्नाप को तोड़ने के बिना स्वतंत्र रूप से इंडी को अपग्रेड कर सकें। –

+1

@Mjn: समस्या डेटास्नाप एक डेल्फी लाइब्रेरी है ... आपको पूरे आरटीएल/वीसीएल का उपयोग नहीं करना चाहिए क्योंकि आपके पास पूर्ण स्रोत कोड (पैकेज ...) नहीं है! : डी –

2

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

BPLs में, से GExperts \ पीई सूचना निर्यात सूची लाइनों की तरह @xp $ @ [nn] [UnitName] @ [TypeName] (प्रकारों के लिए) और @ [UnitName] {@ [प्रकार एक प्रारूप है >]} @ [यूनिट वैश्विक तत्व जैसे प्रक्रियाओं या चर] (बाकी के लिए)।

आप बीपीएल पर उपयोग की जाने वाली इकाइयों की सूची प्राप्त करने के लिए उस सूची को एक फ़ाइल और जीआरईपी में सहेज सकते हैं।

रियल उदाहरण (vcl140.bpl):

  • @ $ XP $ 11Forms @ TForm
  • @ Appevnts @ TCustomApplicationEvents @ सक्रिय
  • @ Clipbrd @ क्लिपबोर्ड
+0

+1 उत्कृष्ट चाल है। –

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