2013-01-15 11 views
13

मैं XE2 में कुछ घटकों पर काम कर रहा हूं। क्या उस घटक के यूनिट से अधिक होना संभव है जिस पर इसे हटाए गए फॉर्म के उपयोग खंड में जोड़ा गया है?क्या मैं एक कस्टम डेल्फी घटक उपयोग खंड में एकाधिक इकाइयों को जोड़ सकता हूं?

उदाहरण: जब मैं एक पैकेज से TCustomComponent चुनता हूं, तो मैंने इकाई को बनाया और स्थापित किया है कस्टमकंपोनेंट फॉर्म के उपयोग खंड में जोड़ा गया है। मैं इकाई ग्लोबलकॉन्स्टेंट भी जोड़ना चाहता हूं।

क्या किसी को पता है कि यह किया जा सकता है?

उत्तर

16

अपने घटक के लिए डिज़ाइन-टाइम पैकेज बनाएं (यदि आपके पास पहले से कोई नहीं है)। उस पैकेज में, ISelectionEditor इंटरफ़ेस लागू करने वाला एक वर्ग बनाएं (TSelectionEditor कक्षा से प्राप्त करने का सबसे आसान तरीका है), किसी भी अतिरिक्त इकाई को रिपोर्ट करने के लिए अपने वर्चुअल RequiresUnits() विधि को ओवरराइड करना, जिसे आप किसी भी फॉर्म/फ्रेम/डेटा मॉड्यूल के uses खंड में दिखाना चाहते हैं जो आपके घटक का उपयोग करता है। फिर, RegisterSelectionEditor() (RegisterComponents() के अलावा) को कॉल करके अपने पैकेज का Register() फ़ंक्शन रजिस्टर करें।

Indy 10 यकीन IdContext और IdSocketHandle इकाइयों uses खंड में जुड़ती बनाने के लिए अपने TIdTCPServer, TIdCmdTCPClient, और TIdUDPServer घटकों के लिए वास्तव में यह करता है,। इंडी इसे कैसे लागू करता है यह देखने के लिए IdCoreSelectionEditors.pas और IdRegisterCore.pas इकाइयों को देखें।

अद्यतन: IdCoreSelectionEditors.pas और IdProtocolsSelectionEditors.pas इकाइयों मार्च 2014 प्रति-घटक SelectionEditor कक्षाओं के सभी में इंडी 10 से हटा दिया गया IdRegisterCore इकाई अपने आप में लागू एक नए एकल वर्ग के साथ प्रतिस्थापित किया गया। यह नया चयन एडिटर क्लास सभी इंडी घटकों के लिए पंजीकृत है, और यह किसी भी इंडी घटक के सभी उदाहरणों को देखता है जिसे डिज़ाइन-टाइम पर रखा गया है, सभी पैरामीटर के डेटा प्रकारों के आरटीटीआई का उपयोग करके और किसी असाइन किए गए ईवेंट हैंडलर के लिए मूल्यों को वापस करने के लिए uses खंड में शामिल करने के लिए रिपोर्ट करने के लिए इकाइयां।

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

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