2009-06-24 5 views
5

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

Public Enum tiErrorEnum 
    tiNone = 0 
    tiWarning 
    tiError 
    tiDupDoc 
End Enum 

और मैं करने के लिए आवरण की उम्मीद कर इस तरह के

ErrorNum = tinone 

के रूप में एक बयान में enums में से एक का उपयोग करें, आईडीई द्वारा तय किया जाना चाहिए, यह टिनोन को टिनोन में नहीं बदलता है, लेकिन यह enum सदस्य की def को tinone में बदल देता है! बिल्कुल पीछे की ओर!

क्या कोई कामकाज है?

उत्तर

12

हां, वहां है। यह अजीब दिखने वाला है, और शायद आप इस बात पर टिप्पणी करना चाहते हैं कि आप इसे अपने कोड में क्यों कर रहे हैं ताकि भविष्य के देवताओं को इसके बारे में परेशान न हो, लेकिन यह वही है जो आप करना चाहते हैं। एक कंपाइलर निर्देश कोड ब्लॉक के अंदर सार्वजनिक आइटम के रूप में गणना जोड़ें (इसलिए संकलक इसे निश्चित रूप से नहीं देख सकता)। आपको इसे गणना घोषणा के नीचे अधिमानतः सही करना चाहिए, जैसे:

Public Enum tiErrorEnum 
    tiNone = 0 
    tiWarning 
    tiError 
    tiDupDoc 
End Enum 
#If False Then 
    Public tiNone 
    Public tiWarning 
    Public tiError 
    Public tiDupDoc 
#End If 

सरल। आईडीई गणना नामों को सही ढंग से पहचान और पकड़ लेगा, और संकलक ब्लॉक को अनदेखा कर देगा।

+0

+1 - इच्छा है कि मैं उन सभी वर्षों के बारे में सोचा था – Kev

+0

मैंने देखा कि यह हो रहा है और कभी नहीं समझ सकता कि इसके आसपास कैसे काम करना है। अपने समाधान, बहुत हैक प्यार करो। –

+0

@ मैनुअल, मैं टिप्पणी की सराहना करता हूं, लेकिन क्रेडिट जहां क्रेडिट देय है: मैंने इसे किसी अन्य देव से सीखा जो कि I से अधिक स्मार्ट है। – Cyberherbalist

1

यह संपादक में एक बग है। मुझे याद है कि अगर आप इंटेलिजेंस का उपयोग करने के बजाय एक enum का नाम टाइप करते हैं तो यह घोषणा में enum value name के मामले को बदल देता है।

1

चाल हमेशा अपने enumerations अर्हता प्राप्त करने के लिए है:

tiErrorEnum.tiDupDoc 

Intellisense तो सही ढंग से डॉट दबाने के बाद गणन सूची जाएगा। मुझे लगता है कि यदि आप गणना अच्छी तरह से नामित है तो यह कोड पठनीयता में भी सहायता करेगा।

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

  • कोई संबंधित समस्या नहीं^_^