वेरिएंट हमेशा मजेदार होते हैं, आह?कैसे बताना है कि डेल्फी संस्करण एक खाली स्ट्रिंग है या नहीं?
मैं एक लीगेसी एप्लिकेशन पर काम कर रहा हूं जो डीएफ 7 में आखिरी बार डेल्फी एक्सई में माइग्रेट करने के लिए था।
अंतरिम में भिन्नताएं काफी बदल गई हैं।
कोड की यह पंक्ति:
if (VarType(Value) = varString) and (Value = '') then
Exit;
सच लौट आए और D2007 में से बाहर निकल गया, लेकिन डेल्फी XE में नहीं है।
मैं इस के लिए यह बदल गया है:
if VarIsStr(Value) and (VarToStr(Value) = '') then
Exit;
मैं आश्वस्त नहीं कर रहा हूँ इस "सर्वश्रेष्ठ" रास्ता तय करना है। वेरिएंट यूनिट में ऐसा करने के लिए एक विशिष्ट कॉल नहीं है, और मुझे निश्चित रूप से यह याद है कि यह अतीत में लोगों के लिए एक मुद्दा है। हालांकि, एक खोज ने कोई लाइब्रेरी फ़ंक्शन या कोई अन्य स्वीकार्य तरीका नहीं बताया।
क्या कोई "सही" या बेहतर तरीका है?
संयोग से 'v = '' 'सच है, अगर मैं इसे स्पष्ट रूप से' v: = '' पर असाइन करता हूं; '- मेरा अनुमान है कि एक से अधिक संस्करण स्ट्रिंग उप प्रकार, शायद B_STR और कुछ और है, और इसलिए तत्व तुलना विफल रहता है, भले ही सामग्री समान है। –
वॉन 'अगर VarToStr (मूल्य) = '' अकेले नौकरी करते हैं? – kobik
@kobik यह विफल रहता है, उदाहरण के लिए, जब 'Value'' Null' के बराबर होता है। –