2011-12-20 13 views
9

मैं एक बड़ी परियोजना को दोबारा कर रहा हूं और कुछ घटकों को नए मॉड्यूल और रूपों में स्थानांतरित करने की आवश्यकता है। क्या यह सुनिश्चित करने के लिए एक सौहार्दपूर्ण तरीका है कि निर्भर घटकों के गुण अपडेट किए गए हैं?डेल्फी में किसी संदर्भ के सभी संदर्भ और लिंक देखने का कोई तरीका है?

शायद परियोजना के डीएफएमएस grep?

उदाहरण: एक TDataSource को एक विशाल डेटा मॉड्यूल से एक छोटे से स्थानांतरित करना। कुछ मामलों में स्रोत 40-50 रूपों से संदर्भ हो सकता था। मुझे यह सुनिश्चित करना होगा कि डेटा स्रोत का संदर्भ देने वाले सभी नियंत्रण अपडेट हो जाएं।

+0

मैं DFM फ़ाइलों grep था और उसके बाद मैं आवश्यक संशोधनों –

+2

डेल्फी के बाद के संस्करण आप refactor और संपादक से उनका नाम बदल सकते बनाने के लिए एक पर्ल regex आधारित स्क्रिप्ट का उपयोग होगा। क्या आपने उस सुविधा की कोशिश की है? साथ ही, इसे मूल स्थान से पूरी तरह से निकालने या उसका नाम बदलने का एक अच्छा विचार है ताकि आपका कंपाइलर जो भी आपको याद आएगा उसे पकड़ लेगा। –

+1

@marcus का नाम बदलना वास्तविक दुनिया परियोजनाओं के साथ कभी काम नहीं करता है। अगर यह dfm फ़ाइल संदर्भों को संभाला जाता है तो मैं आश्चर्यचकित हूं। –

उत्तर

6

GEXperts में जीआरईपी दोनों पैस और डीएफएम फाइलों को खोजने की अनुमति देता है।

+0

यह वही हासिल करने का सबसे तेज़ तरीका था जो मैं चाहता था। –

+0

मुझे आश्चर्य नहीं होगा अगर मॉडलमेकर कोडएक्सप्लोरर के पास इस क्षेत्र में कुछ बहुत शक्तिशाली क्षमताएं थीं। –

5

सबसे पहले, मुझे आशा है कि आप संस्करण नियंत्रण का उपयोग कर रहे हैं।

मुझे एहसास है कि यह एक "स्पष्ट" उत्तर है, लेकिन किसी संदर्भ के सभी संदर्भ और लिंक देखने के लिए मुझे सबसे अच्छा तरीका है (संस्करण नियंत्रण का उपयोग करके मैं बाद में सभी परिवर्तनों को वापस कर सकता हूं), संपत्ति का नाम बदलें या घटक, और फिर देखें कि क्या ब्रेक।

पास्कल विश्लेषक यहां बहुत मदद नहीं कर रहा है।

डेल्फी की रिफैक्टरिंग विशेषताएं सहायक हो सकती हैं (रीफैक्टरिंग का नाम बदलने का प्रयास करें, और देखें कि कितने स्थान यह सुझाव दे सकते हैं कि यह स्वचालित रूप से आपके लिए नाम बदल जाएगा)। परिवर्तन लागू न करें, बस सुझावों की समीक्षा करें।

कुछ नियंत्रण या संसाधन "नाम बदलने के बजाए आगे बढ़ना", पूछें कि "क्यों" आप इसे कर रहे हैं। डेटास्रोत क्यों ले जाएं? एक डेटास्रोत बस आपके डेटा जागरूक नियंत्रणों के लिए एक लैंडिंग पॉइंट है, और आपको एक से अधिक डेटासेट को इंगित करने वाले एक से अधिक डेटास्रोत होने की अनुमति है। क्यों न केवल डेटासेट को स्थानांतरित करें, और डेटा स्रोतों को छोड़ दें जहां वे हैं?

+0

डेटासोड्स को एक मेगाडाटामोडल में शामिल किया गया है जिसे अब विभाजित किया जा रहा है और सूत्रों को उन रूपों पर रखा गया है जिनकी आवश्यकता है। –

+3

पास्कल विश्लेषक में, "संक्षिप्त क्रॉस-रेफरेंस" दिखाता है कि सभी पहचानकर्ताओं का उपयोग किया जाता है। –

+0

ठीक है, शायद मैं गलत था। ब्रूस के लिए +1। –

4

यदि आप XE या बाद में उपयोग कर रहे हैं, तो आप कोड संपादक में किसी घटक नाम या अन्य पहचानकर्ता पर राइट-क्लिक कर सकते हैं और अद्यतन के संदर्भों की सूची प्राप्त करने के लिए Search for Usages का चयन कर सकते हैं।

अद्यतन: दुर्भाग्य से, यह केवल स्रोत कोड संदर्भों के लिए काम करता है और यह नहीं दिखाता कि डीएफएम में पहचानकर्ता का उपयोग कहां किया जाता है।

+0

अच्छी चाल! मुझे यह भी पता नहीं था कि वहां था! –

+0

मैं इस काम को डीएफएम स्तर पर नहीं देख रहा हूं। मुझे ड्रॉप डाउन सूची खोजने की ज़रूरत है जिसे मैंने अभी अपनी लुकअप टेबल नाम बदलने या स्थानांतरित करके मार डाला है। मेरे अनुभव में इन उदाहरणों को वाक्यविन्यास जांच के माध्यम से नहीं पाया जा सकता है और न ही उपयोग के लिए खोज dfms में जाते हैं। –

+4

क्या यह डीएफएम फाइलों में उपयोग करता है? मैंने एक डेटामैड्यूल में एक TImageList की कोशिश की जो एक मेनू से जुड़ा हुआ है और दो अलग-अलग फ्रेमों में टूलबार - फ्रेम में से कोई भी नहीं मिला। –

0

डेल्फी या नोटपैड ++ में, मेगाडाटामोडल के लिए फ़ाइलों में एक खोजें, और अपनी संपूर्ण स्रोत शाखा को शामिल करना सुनिश्चित करें। यह सभी उदाहरण मिलना चाहिए। आप नोटपैड ++ का उपयोग करके भी, सभी .dcp, .bpl, .dll, और .exe binaries पर खोज कर सकते हैं, यह देखने के लिए कि शायद फिर से बनाया जाना चाहिए।

+2

AFAIK, डेल्फी में "फाइलों में खोजें" को डीएफएम फाइलों में संदर्भ नहीं मिलते हैं। –

+1

ऐसा करता है, अगर, "प्रोजेक्ट समूह में सभी फाइलों में खोजें" की बजाय, आप "निर्देशिकाओं में खोजें" का उपयोग करते हैं, और उचित फ़ाइल मास्क का उपयोग करते हैं। –

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