Embarcadero Delphi
डेल्फी में RTTI का उपयोग करना
खोज…
परिचय
डेल्फी ने एक दशक से अधिक समय पहले रंटाइम प्रकार की जानकारी (आरटीटीआई) प्रदान की थी। फिर भी आज भी कई डेवलपर्स इसके जोखिमों और लाभों से पूरी तरह परिचित नहीं हैं।
संक्षेप में, रनटाइम प्रकार की जानकारी किसी वस्तु के डेटा प्रकार के बारे में जानकारी होती है जिसे रन-टाइम में मेमोरी में सेट किया जाता है।
RTTI यह निर्धारित करने का एक तरीका प्रदान करता है कि किसी वस्तु का प्रकार किसी विशेष वर्ग का है या उसके किसी वंशज का है।
टिप्पणियों
आरटीआई इन डेल्ही - विस्तृत
डेल्फी में रन-टाइम प्रकार की जानकारी - क्या यह आपके लिए कुछ भी कर सकता है? ब्रायन लॉन्ग का लेख डेल्फी की आरटीटीआई क्षमताओं का एक शानदार परिचय प्रदान करता है। ब्रायन बताते हैं कि डेल्फी में आरटीटीआई समर्थन को सबसे पहले और सबसे महत्वपूर्ण रूप से जोड़ा गया है ताकि डिजाइन-समय के वातावरण को अपना काम करने की अनुमति मिल सके, लेकिन कुछ कोड सरलीकरण प्राप्त करने के लिए डेवलपर्स भी इसका लाभ उठा सकते हैं। यह लेख कुछ उदाहरणों के साथ RTTI कक्षाओं का एक बड़ा अवलोकन भी प्रदान करता है।
उदाहरणों में शामिल हैं: मनमाना गुण पढ़ना और लिखना, कोई सामान्य पूर्वज के साथ सामान्य गुण, एक घटक से दूसरे घटक के गुणों की नकल करना, आदि।
बुनियादी कक्षा की जानकारी
यह उदाहरण दिखाता है कि ClassType
और ClassParent
गुणों का उपयोग करके किसी घटक की वंशावली कैसे प्राप्त करें। यह एक बटन का उपयोग करता है Button1: TButton
और एक सूची बॉक्स ListBox1: TListBox
एक फॉर्म TForm1
पर TForm1
।
जब उपयोगकर्ता बटन पर क्लिक करता है, तो बटन के वर्ग का नाम और उसके मूल वर्गों के नाम सूची बॉक्स में जोड़े जाते हैं।
procedure TForm1.Button1Click(Sender: TObject) ;
var
ClassRef: TClass;
begin
ListBox1.Clear;
ClassRef := Sender.ClassType;
while ClassRef <> nil do
begin
ListBox1.Items.Add(ClassRef.ClassName) ;
ClassRef := ClassRef.ClassParent;
end;
end;
सूची बॉक्स में उपयोगकर्ता द्वारा बटन क्लिक करने के बाद निम्नलिखित तार शामिल हैं:
- TButton
- TButtonControl
- TWinControl
- TControl
- TComponent
- TPersistent
- TObject