खोज…


परिचय

डेल्फी ने एक दशक से अधिक समय पहले रंटाइम प्रकार की जानकारी (आरटीटीआई) प्रदान की थी। फिर भी आज भी कई डेवलपर्स इसके जोखिमों और लाभों से पूरी तरह परिचित नहीं हैं।

संक्षेप में, रनटाइम प्रकार की जानकारी किसी वस्तु के डेटा प्रकार के बारे में जानकारी होती है जिसे रन-टाइम में मेमोरी में सेट किया जाता है।

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


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow