2010-10-20 4 views
5

मैंने घटक पंजीकरण के साथ एक डिज़ाइन पैकेज बनाया है (घटक स्वयं रन-टाइम में है) और कुछ आईडीई मेनू आइटम।डेल्फी एक्सई के लिए कोई भी विचार यादृच्छिक रूप से डिज़ाइन पैकेज लोड नहीं कर सकता है?

यदि मैं प्रोजेक्ट मैनेजर से संदर्भ मेनू में "इंस्टॉल करें" मेनू आइटम पर क्लिक करता हूं - पैकेज लोड हो जाएगा और सामान्य रूप से (हमेशा) काम करता है।

अगर मैं आईडीई को बंद करने और उसे पुन: प्रारंभ - पैकेज लोड किया जा सकता है या लोड नहीं किया जा सकता है। यादृच्छिक रूप से लगता है। लेकिन आमतौर पर भार से लोड नहीं होता है।

यदि मैं घटक/इंस्टॉल पैकेज पर जाता हूं - मुझे सूची में मेरा पैकेज दिखाई देता है, चेकबॉक्स चेक किया जाता है, "घटक" बटन मेरे पैकेज में घटकों को दिखाता है, लेकिन पैकेज के निष्पादन योग्य स्वयं आईडीई में भी लोड नहीं होता है! (मैंने प्रोसेस एक्सप्लोरर के माध्यम से इसे सत्यापित कर लिया है)। पुनर्स्थापित करना (पैकेज को हटाएं -> ठीक है -> घटक/पैकेज इंस्टॉल करें -> जोड़ें -> ठीक है) मदद नहीं करता है। लेकिन प्रोजेक्ट मैनेजर में प्रोजेक्ट के संदर्भ मेनू से अनइंस्टॉल करना/इंस्टॉल करना - हमेशा मदद करता है।

मैंने पैकेज में प्रत्येक मॉड्यूल के प्रारंभिक अनुभाग में आउटपुटडिबगस्ट्रिंग को जोड़ा है। और मैंने पाया है कि प्रारंभिक खंड अभी नहीं चलते हैं।

रन-टाइम पैकेज डिज़ाइन-टाइम पैकेज के समान फ़ोल्डर में है। फ़ोल्डर पाथ पर्यावरण चर में है। मैंने डेल्फी के बिन फ़ोल्डर में पैकेज लगाने की भी कोशिश की। कोई त्रुटि संदेश नहीं। कोई अजीब/नैदानिक ​​आउटपुटडिबगस्ट्रिंग्स नहीं।

कोई विचार?

पीएस मेरे पास 2 अलग-अलग मशीनों पर यह व्यवहार है। एक विन 7 है, दूसरा WinXP SP 2.

पी.पी.एस. मैं डेल्फी 7 पर इस व्यवहार को पुन: उत्पन्न करने में सक्षम नहीं था। उसी पैकेज, हमेशा डी 7 लोड के लिए पुन: संकलित।

उत्तर

8

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

यह घटक संकुल के लिए ठीक काम करता है, लेकिन संकुल के लिए एक मजेदार खराब करता है (उदाहरण के लिए) आईडीई मेनू को संशोधित करता है।

आप से ForceDemandLoadState (dlDisable) को कॉल करके हमेशा अपने पैकेज को लोड करने के लिए आईडीई को बता सकते हैं प्रक्रिया पंजीकृत करें।

पीएस एक प्रश्न पोस्ट करने के तुरंत बाद आप हमेशा अपने आप को जवाब क्यों देते हैं? : डी

+2

क्योंकि पूछताछ में आपको समस्या को अन्य लोगों के साथ संवाद करने के लिए पुनर्विचार करना होगा - अंत में, आप किसी अन्य परिप्रेक्ष्य के साथ समस्या को देखते हैं। कभी-कभी यह पर्याप्त है। –

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