2011-10-16 13 views
8

मुझे समझ नहीं आता क्यों निम्नलिखित छोटे सांत्वना आवेदन संकलन नहीं करता है:डेल्फी का उपयोग, एक अनाम प्रकार का उपयोग रिकॉर्ड के प्रकार के रूप में करने में असमर्थ?

program Project1; 

type 
    TProc = reference to procedure; 

    TMyRec = record 
    Proc: TProc; 
    end; 

var 
    myProc: TProc; 
    myRec: TMyRec; 

begin 
    myProc := procedure begin writeln; end; 
    myProc; // compiles fine 
    myRec.Proc := procedure begin writeln; end; 
    myRec.Proc; //E2014 Statement exptected, but expression of type 'TProc' found 
end. 

उत्तर

11

आप संकेत मिलता है कि आप प्रक्रिया को कॉल कर रहे कोष्टक जोड़ना होगा; यानी,

myRec.Proc(); 
+0

सादा पुरानी पास्कल प्रक्रियाओं को बिना किसी कंस्ट्रैसिस के बुलाया जा सकता है, मुझे लगता है कि एक प्रक्रिया-रेफ अलग है। –

+0

धन्यवाद, मुझे इसकी उम्मीद नहीं थी। इस आवश्यकता का कारण क्या हो सकता है? MyProc से यह कितना अलग है; लाइन? –

+0

@WarrenP: आईआईआरसी यह क्लास विधि संदर्भों के साथ भी मामला था, कम से कम जब आप उन्हें किसी अन्य कार्य में तर्क के रूप में पारित करते थे ... –

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

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