का उपयोग करता है डेल्फी का उपयोग करते समय: मैं एक इकाई की तरह स्थिरांक से भर जाता है कि ...इंटरफ़ेस करने के लिए एक इकाई जोड़ने से नहीं बल्कि कार्यान्वयन की तुलना में खंड का उपयोग करता खंड
Unit AConsts;
Interface
Const
Const1 : WideString = 'Const1';
Const2 : WideString = 'Const2';
Const3 : WideString = 'Const3';
Const4 = 100;
Const5 = 100;
Implementation
end.
है और मैं से इस इकाई उपयोग करना चाहते हैं एक और इकाई, वहाँ के बीच ...
Unit AUnit;
Interface
Uses
AConsts;
Implementation
end.
और
Unit AUnit;
Interface
Implementation
Uses
AConsts;
end.
कोई अंतर है? या दूसरे शब्दों में, क्या एक संकलित ऐप चिंता के रूप में दोनों के बीच एक अंतर है?
[संपादित करें 1]
जवाब अब तक के लिए धन्यवाद।
मैंने यह प्रश्न पर्याप्त स्पष्ट नहीं किया है, और इसके लिए मैं क्षमा चाहता हूं। यह सवाल गोलाकार संदर्भ आदि से बचने के दायरे के बारे में नहीं है। यह संकलित ऐप में अंतर के बारे में है। शायद एक और उदाहरण मदद करेगा।
यदि यूनिट ए, यूनिटबी और यूनिटसी सभी एकोन्स्ट का उपयोग करते हैं, तो एप 1 के बीच संकलित ऐप (एसीओन्स्ट इकाइयों और अन्य कोड में स्थिरांक के बीच कोई नाम नहीं होने पर) में कोई अंतर होगा, जहां इन यूनिट ए, यूनिटबी और यूनिटसी के पास सभी हैं इंटरफेस सेक्शन में एकोन्स्ट क्लॉज और ऐप 2 का उपयोग करता है जहां यूनिट ए, यूनिटबी और यूनिटसी सभी में कार्यान्वयन अनुभाग के उपयोग खंड में एकोन्स्ट हैं।
शायद मैं थोड़ा पुरानास्कूल हूं लेकिन मुझे लगता है कि इंटरफ़ेस में आपको केवल उन इकाइयों का उपयोग करना चाहिए जो आपको अपनी घोषणाओं के लिए आवश्यक हैं जो इकाई के बाहर उपलब्ध होंगी, इसलिए इंटरफ़ेस में हैं। आपको बाकी सभी को कार्यान्वयन में रखना चाहिए। AFAIK, प्राचीन काल में, इसने कंपाइलर की गति में मदद की और परिणामस्वरूप एक्सई आकार, हाल के संस्करणों को बेहतर तरीके से संभाला। हालांकि, यह अभी भी एक साफ रास्ता है। –