2009-04-30 7 views
5

क्या किसी को पता है कि इस त्रुटि का क्या अर्थ है?डेल्फी: F2084 आंतरिक त्रुटि T2575

यह मेरी इकाइयों में से एक में आता है और चला जाता है। एक रिक्ति या एक lineshift कुछ समय यह समाधान होगा, नहीं कुछ समय ...

मैं डेल्फी 2007

+0

कृपया डेल्फी संस्करण – schnaader

उत्तर

12

उपयोग कर रहा हूँ यहाँ जोड़ना एक Delphi internal error guide कि शायद आप में मदद मिलेगी है। आंतरिक त्रुटि अक्सर डीसीयू फ़ाइलों को हटाकर, आईडीई को पुनरारंभ करने या डेल्फी प्रारंभ (जैसे डेल्फी स्पीडअप) की गति का उपयोग नहीं करने वाले उपकरण का उपयोग न करके हल किया जा सकता है।

लेकिन ज्यादातर मामलों में, यह डेल्फी कंपाइलर में कुछ अजीब बग है और यदि आप इसके आसपास काम करना जानते हैं और यह महंगा नहीं होगा, तो ऐसा करें और खुश रहें। जब मैंने इंक के साथ एक वैरिएबल बढ़ाया और इंक के बजाय अतिरिक्त उपयोग की समस्या का समाधान किया, तो मुझे कंसोल संस्करण डीसीसी 32 क्रैशिंग (आईडीई संकलित ठीक) था ...

+1

के बारे में कुछ जानकारी दें मुझे संदेह नहीं है कि यह कुछ मामलों में मदद करता है, लेकिन "* आंतरिक त्रुटि अक्सर डीसीयू फ़ाइलों को हटाकर, आईडीई * को पुनरारंभ करके हल किया जा सकता है" - बहुत कुछ लगता है "* विंडोज़ को पुनर्स्थापित करें * "और" * एक एक्सोसिस्ट कॉल करें * "अगली दो युक्तियां हो सकती हैं ;-) – JensG

+0

आंतरिक त्रुटि मार्गदर्शिका आंतरिक त्रुटि देता है :-) – nurettin

+0

@nurettin: रिपोर्टिंग के लिए धन्यवाद, वेबैक मशीन द्वारा तय :) – schnaader

5

कोड करने के लिए सबसे अच्छी बात यह है कि कोडगियर को इसकी रिपोर्ट करें। यह वास्तव में मदद करता है अगर आप उद्देश्य पर बग का लगातार कारण बनने का कोई तरीका ढूंढ सकते हैं, इसलिए वे इसे अधिक आसानी से ट्रैक कर सकते हैं।

1

सभी आंतरिक त्रुटियां ऐसी चीजें हैं जो नहीं होनी चाहिए, लेकिन किया। QC देखें और यदि यह वहां रिपोर्ट नहीं है। यदि आप इसे पुन: उत्पन्न करने का एक तरीका प्रदान कर सकते हैं जो इससे अधिक संभावना बनायेगा कि वे इसे ठीक कर सकते हैं।

आमतौर पर आंतरिक त्रुटि मैं पूर्ण बिल्ड या डेल्फी को पुनरारंभ करता हूं।

1

मैं एक उदाहरण में यह त्रुटि आई:

procedure TDMData.SetValue(AValue: Word); 
var 
    prevValue: Word; 
    method: TMethod; 
begin 
    if FValue = AValue then 
    Exit; 
    prevValue := FValue; 
    FValue := AValue; 
    for method in FValueChangeEvent.Notifications do 
    TDMDataValueChangeNotification(method)(Self, AValue, prevValue); 
end; // <--- Fatal: F2084 Internal Error: T2575 

दोनों GetNotifications सूचनाएं संपत्ति और रिकॉर्ड GetNotifications द्वारा वापस की GetEnumerator विधि एक इनलाइन निर्देश था। केवल GetEnumerator से इनलाइन को हटाकर समस्या दूर हो गई।

नोट: समान कार्य इस आंतरिक त्रुटि का कारण नहीं थे!

2

मुझे यह समस्या भी मिली है, और मैंने कई समाधानों का परीक्षण किया है, लेकिन उनमें से कोई भी मेरी मदद नहीं करता है। तो मुझे त्रुटि का यह कारण मिला है: त्रुटि उत्पन्न होने में , मेरे पास एक इंक() func था जो स्ट्रिंग वेरिएबल को बनाने की कोशिश कर रहा था !! इसलिए मैंने उस बग को ठीक कर दिया है और सबकुछ सामान्य हो गया है :)

4

आंतरिक त्रुटि प्राप्त करने का एक आसान तरीका एक नया दिनचर्या बनाने के लिए कट & पेस्ट का उपयोग करना है। मैंने एक आईएफ ब्लॉक के भीतर एक नई प्रक्रिया में सभी कोड ले जाया और नई proc (डेल्फी 7 में) के अंत में आंतरिक त्रुटि T2335 मिला।

त्रुटि "अगर (कुछ) तो तोड़ें;"। समस्या यह थी कि, यह कोड अब लूप के भीतर नहीं था, इसलिए तोड़ने के लिए कुछ भी नहीं था। 'बाहर निकलने' के लिए 'ब्रेक' को बदलना समस्या को हल करता है।

तो ब्रेक और जारी बयान के लिए देखो।

type 
    TValueRec = record 
    selector : (int,str,unk); 
    intVal : Integer; 
    strVal : WideString; 
    unkVal : IUnknown; 
    end; 

एक जेनरिक आधारित वर्ग की एक विधि में इस रिकॉर्ड का उपयोग करते हुए मुझे एक "F2084 आंतरिक लाया:

2

मैं एक अन्य मामले आज (D2010), 'अच्छा ol के बाद से टर्बो पास्कल दिनों सब कुछ पूरी तरह से कानूनी वाक्य रचना की थी त्रुटि: AV0661CFEF-R0000000C-0 "कहीं दूसरी इकाई के बीच में।

यह बदल रहा है इस तरह से मेरे लिए चाल थी:

type 
    TValueRecSelector = (int,str,unk); 

    TValueRec = record 
    selector : TValueRecSelector; 
    intVal : Integer; 
    strVal : WideString; 
    unkVal : IUnknown; 
    end; 

हालांकि, बहुत कष्टप्रद ऐसी बातें कोड में पूरी तरह से असंबंधित स्थानों पर ऐसी त्रुटियों का उत्पादन करता है।

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