2009-02-23 8 views
7

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

उदाहरण के लिए, यह संदेश हैंडलर के सामने afx_msg डालेगा जो इसे बनाए रखा गया है। यह कोड के ब्लॉक को // {{AFX_MSG_MAP (TheApp) और /}} AFX_MSG_MAP टिप्पणियों के साथ कोड के ब्लॉक को चिह्नित करेगा ताकि वह संदेश मानचित्र के उन हिस्सों को ढूंढने में सहायता कर सके जो इसे संभालना चाहते थे।

AFAIK, अब इसकी आवश्यकता नहीं है। इसके अलावा, कक्षा विज़ार्ड के साथ इतनी सारी कमियां थीं कि हमें इन प्रबंधित ब्लॉकों के बहुत सारे मैन्युअल संपादन करना पड़ा और हमने इसे कभी भी कभी भी इस्तेमाल नहीं किया।

क्या afx_msg और इसके जैसे उपयोग करने के लिए कोई अन्य कारण हैं?

उत्तर

10

afx_msg अभी भी मौजूद है लेकिन हमेशा पूरी तरह से जानकारीपूर्ण रहा है। एक सजावट के रूप में आप इसे डाल दिया। इसे हमेशा खाली स्ट्रिंग के रूप में परिभाषित किया गया है।

वीएस2003 के बाद {{और}} मार्करों की अब आवश्यकता नहीं है: वीएस अब इन मार्करों पर भरोसा किए बिना चीजों को सही जगह पर रखने के लिए पर्याप्त स्मार्ट है। आप देखेंगे कि वीएस2003 + इन परियोजनाओं में इन लाइनों को शामिल नहीं करता है।

2

AFAIK, afx_msg अब उपयोग नहीं किया जाता है। अन्य मार्कर का उपयोग सीडब्ल्यू को चीजों को कहां रखा जाना है, और उनमें से कुछ का उपयोग अभी भी किया जा सकता है (उदाहरण: .cpp फ़ाइलों में संदेश मानचित्र स्थान)। हेडर फ़ाइलों में से कुछ शायद हटाने के लिए अधिक सुरक्षित हैं, लेकिन मैं उन्हें मनमाने ढंग से बाहर नहीं ले जाऊंगा।

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

पीएस: एमएस वर्तमान सीडब्ल्यू संपादन के मुद्दों के बारे में अच्छी तरह से अवगत है, और मुझे बताया गया है कि उन्हें वीएस -2010 में बड़ी हद तक संबोधित किया जाएगा ... हम देखेंगे।

1

AFAIK इनकी आवश्यकता नहीं है। वीएस -2008 में कक्षा विज़ार्ड अब और टिप्पणियां उत्पन्न नहीं करेगा, और पिछले संस्करणों द्वारा उत्पन्न मौजूदा टिप्पणियों का उपयोग नहीं करेगा। कक्षा विज़ार्ड अभी भी afx_msg सजावट उत्पन्न करेगा, लेकिन उनका उपयोग नहीं किया जाता है।

वीसी 6 दिनों से कोड से निपटने पर मेरा सामान्य नियम सभी टिप्पणियों को हटाने के लिए है, लेकिन afx_msg सजावट छोड़ने के लिए है। कोड को पढ़ने के दौरान मुझे सजावटी उपयोगी लगता है, यह इंगित करने के लिए कि एक विधि एक संदेश हैंडलर है।

0

वीएस -2008 में, afx_msg एक खाली # परिभाषा है। मैंने अपने आवेदन से अन्य सभी क्लास विज़ार्ड-डाले गए ड्रेक को हटा दिया है जिसे वीसी 6 से 2005 तक अपग्रेड किया गया था। माना जाता है कि मैं क्लास विज़ार्ड का भी उपयोग नहीं करता हूं।

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