मैंने इस के लिए एक समाधान लागू किया जो डेल्फी के किसी भी संस्करण में काम करता है - इसे मूल रूप से डेल्फी 7 में कार्यान्वित किया गया था, हालांकि मैंने इसे पिछले संस्करणों में परीक्षण नहीं किया है (लेकिन यदि आप डेल्फी 7 का उपयोग कर रहे हैं, तो आपको बस इतना जानने की ज़रूरत है, है ना?)। :)
आईआईआरसी यह कम से कम एलन बाउर के पद के लिए प्रेरणा थी। आप कुछ वीडियो में अपना कार्यान्वयन देख सकते हैं और कोड डाउनलोड कर सकते हैं from my blog:
जिन पोस्टों में आप रुचि रखते हैं उन्हें "मल्टीकास्ट" टैग किया जाता है। अंतिम कोड के लिए डाउनलोड लिंक available in this post है।
मेरे दृष्टिकोण में, आप TMultiCastEvent से एक कक्षा प्राप्त करते हैं। आपके सभी व्युत्पन्न वर्ग को एक विशिष्ट हस्ताक्षर के साथ एक ईवेंट जोड़ने, हटाने और आमंत्रित करने के लिए कुछ सरल प्रकार की सुरक्षा सुरक्षा लागू करना है।
TNotifyEvent - प्रक्रिया (प्रेषक: TObject) के लिए एक कार्यान्वयन - "आपको जाने के लिए" दोनों कार्यान्वयन के साथ प्रदान किया जाता है (ime सबसे अधिक "उपयोगी" मल्टीकास्ट घटनाएं सरल सूचनाएं होती हैं) और मल्टीकास्ट को कैसे प्राप्त करें इसका एक उदाहरण के रूप में विशिष्ट घटना हस्ताक्षर के लिए घटना वर्ग।
एक बार जब आप अपनी मल्टीकास्ट इवेंट क्लास रखते हैं तो आप मल्टी-कास्ट संस्करण के साथ नियमित रूप से "ईवेंट हैंडलर" का उपयोग कर सकते हैं, उदा। मल्टी-कास्ट ऑन_Cलिक घटना के साथ कुछ काल्पनिक बटन क्लास दिया गया है (मैंने ईवेंट नाम में अंडरस्कोर को इंटरैपोज़ करने के लिए एक मल्टीकास्ट, नियमित रूप से "यूनी-कास्ट" घटनाओं के रूप में पहचानने के लिए एक सम्मेलन अपनाया है:
कोड जो असाइन करता है एक यूनिकास्ट क्लिक करें घटना के लिए कोई हैंडलर:
Button.OnClick := MyClickHandler;
सीधे घटना सूचित करें एक बहु डाली है कि एक ही हैंडलर जोड़ा जा सकता:
MultiCastButton.On_Click.Add(MyClickHandler);
मेरे कार्यान्वयन भी इस तरह के क्षमता के रूप में शोधन, के एक नंबर शामिल करने के लिए घटनाओं को अक्षम करें और हैंडलर स्वचालित रूप से फिर से करें कार्यान्वयन वस्तु नष्ट होने पर हैंडलर से चले गए (इसमें हाउसकीपिंग की एक छोटी राशि शामिल है जिसे आवश्यक होने पर अनदेखा किया जा सकता है लेकिन कुछ परिस्थितियों में उपयोगी हो सकता है)।
जिनमें से सभी मेरे ब्लॉग पोस्ट में वर्णित और प्रदर्शित किए गए हैं।
आनंद लें। :)
+1; बीटीडब्लू: यह आपकी बहु-कलाकार घटना पोस्टिंग की सूची है: http://www.deltics.co.nz/blog/?tag=multicast-events –
आपके प्रयास के लिए धन्यवाद लेकिन आप दिखाने के लिए नमूना क्यों प्रकाशित नहीं करते इसका इस्तेमाल कैसे करें? – FLICKER