में निरंतर को असाइन करते समय त्रुटि प्राप्त करें मैं सभी पैच और अपडेट के साथ डेल्फी 2007 का उपयोग कर रहा हूं।* कभी-कभी * डेल्फी
मेरे पास एक फ़ाइल है जिसका उपयोग दो अलग-अलग परियोजनाओं द्वारा किया जाता है।
procedure MyProcedure;
const
UniqueValue: integer = 0;
begin
//some code
Inc(UniqueValue);
//some more code
end;
इंक() कमांड असफल चाहिए, क्योंकि आप एक निरंतर करने के लिए असाइन नहीं कर सकते: उस फ़ाइल में एक प्रक्रिया है, जो मैं इस प्रकार सरल है। एक प्रोजेक्ट में, मुझे उस प्रभाव में एक त्रुटि मिलती है (मैं उस परियोजना को "सटीक" कहूंगा)। दूसरी परियोजना में, मुझे कोई त्रुटि नहीं मिलती है (मैं इसे "बोगस" कहूंगा)। मुझे कोई चेतावनी भी नहीं मिलती है। मैं यह नहीं समझ सकता कि संकलक इस गलत कोड को क्यों देता है।
यहाँ है कि मैं क्या परियोजना बोगस में की कोशिश की है:
1 - एक लाइन के बीच में "slkdjflskdjf" टाइप की तरह, एक स्पष्ट त्रुटि परिचय
परिणाम: मैं एक त्रुटि है, जो कि साबित होता है मिल यह वास्तव में इस फ़ाइल को संकलित करने की कोशिश कर रहा है।
2 - .DCU हटाएँ, और इस परियोजना के पुनर्निर्माण
परिणाम: .DCU फिर से उत्पन्न होता है, फिर से साबित होता है कि परियोजना को सही मायने में इस गलत कोड संकलन है।
क्या किसी के पास यह विचार है कि यह व्यवहार क्यों होगा? और अधिक विशेष रूप से, यह एक परियोजना में क्यों होगा लेकिन दूसरा नहीं? क्या स्थिरांक को असाइन करने की अनुमति देने के लिए कुछ अस्पष्ट कंपाइलर विकल्प है?
एक अंतिम नोट: दोनों परियोजनाएं डेल्फी से परिवर्तित की जाती हैं 5. इसी कोड के साथ डेल्फी 5 के तहत, वे दोनों ठीक संकलित करते हैं।
संपादित करें: आपकी सभी मदद के लिए धन्यवाद। असाइन करने योग्य टाइप किए गए स्थिरांक निर्देश को बदलने के बाद, मैं दोनों परियोजनाओं में लगातार व्यवहार प्राप्त कर सकता हूं। मैंने आज कुछ नया सीखा ...