मुझे कभी-कभी वह त्रुटि मिलती है जो Word किसी अन्य संवाद बॉक्स के साथ दस्तावेज़ को बंद करने का प्रयास करता है, लेकिन मैं कभी यह पता लगाने में सक्षम नहीं हुआ कि ऐसा क्यों होता है।
मुझे कभी-कभी वह त्रुटि मिलती है जो Word किसी अन्य संवाद बॉक्स के साथ दस्तावेज़ को बंद करने का प्रयास करता है, लेकिन मैं कभी यह पता लगाने में सक्षम नहीं हुआ कि ऐसा क्यों होता है।
जवाबों:
क्योंकि अधिकांश संवाद बॉक्स को " मोडल " माना जाता है, जिसका अर्थ है कि नियंत्रण मुख्य कार्यक्रम, या कॉलिंग कंटेनर में वापस नहीं जाता है, जब तक कि संवाद स्वयं बंद नहीं हो जाता है। यह डिज़ाइन द्वारा है और प्रोग्रामर के पास विंडो मोडल या नॉन-मोडल बनाने का विकल्प है। आमतौर पर, एक विंडो को मोडल के रूप में परिभाषित किया जाता है, यदि मुख्य कार्यक्रम तब तक जारी नहीं रह सकता है या तब तक जारी नहीं होना चाहिए जब तक कि खुले हुए संवाद का चयन (ओके) या गर्भपात (रद्द) के माध्यम से नहीं किया जाता है।
संवाद बॉक्स कुछ इस तरह कह रहा है:
आपने अपने दस्तावेज़ में परिवर्तन किए हैं, क्या आप उन्हें सहेजना चाहते हैं? (हाॅं नही)
यहाँ कोई स्पष्ट सही उत्तर नहीं है। आपने गलती से अपने दस्तावेज़ को दूषित कर दिया होगा (उदाहरण के लिए, कीबोर्ड के ऊपर से बिल्ली चली गई) जिस स्थिति में उत्तर "नहीं" है, या हो सकता है कि आपने परिवर्तनों को लिखने में घंटों बिताए हों, जिस स्थिति में उत्तर "हाँ" है।
Word के लिए सबसे सुरक्षित बात यह है कि जब तक आप सवाल का जवाब नहीं देते, तब तक उसे बंद करने से मना कर दिया जाता है।
क्योंकि प्रोग्राम को इस तरह से डिज़ाइन किया गया है, ताकि उपयोगकर्ता को कार्रवाई न करने से बचना पड़े।
आमतौर पर, एक डायलॉग बॉक्स प्रदर्शित किया जाता है जब प्रोग्राम को कुछ कार्रवाई करने के लिए उपयोगकर्ता की आवश्यकता होती है। एक सहेजे गए दस्तावेज़ को बंद करना उत्कृष्ट उदाहरण है: एक संवाद परिवर्तनों को सहेजने, परिवर्तनों को त्यागने या समापन को बंद करने और संपादन पर लौटने का प्रस्ताव देता है। कार्यक्रम जानबूझकर इस प्रश्न का उत्तर दिए बिना बंद करने से इनकार करता है क्योंकि समापन कुछ कार्रवाई करने के लिए मजबूर करेगा। यह कार्यक्रम उदा। हाल के संपादन को छोड़ दें, या इसके विपरीत, बिल्ली-ऑन-द-कीबोर्ड टाइपिंग के साथ सही संस्करण को ओवरराइट करें।
यहां तक कि अगर हम एक संवाद पर विचार करते हैं जो समापन से संबंधित नहीं है, तो आमतौर पर इसका मतलब है कि कुछ प्रक्रिया चल रही है, यह अभी तक पूरा नहीं हुआ है, और उपयोगकर्ता को यह तय करना होगा कि किस रास्ते पर जाना है। यह "बस गर्भपात" नहीं हो सकता है, क्योंकि गर्भपात भी एक ऐसी क्रिया है जो उपयोगकर्ता का मतलब नहीं हो सकता है।
यह कार्यक्रम के डिजाइन को भी सरल बनाता है, क्योंकि इसके रचनाकारों को हर फ़ंक्शन का "एक सुरक्षित तरीका" बनाना नहीं है।
आज, अधिकांश संवाद तकनीकी अर्थों में मॉडल नहीं हैं (कार्यक्रम जिम्मेदार है), लेकिन कार्यक्रम के तर्क प्रवाह के व्यापक अर्थों में उन्हें अभी भी सरल बनाना आसान है।
मुझसे गलती हो सकती है, लेकिन मुझे संदेह है कि यह पुराने सामान्य संवाद नियंत्रण व्यवहार पर वापस जाता है।
यदि वापसी के बिना अचानक मारे गए लोगों में से कई को अप्रिय दुष्प्रभाव पड़ा, तो कभी-कभी अब मृत कार्यक्रम के बाहर भी और सभी मामलों में विनम्रता से उनसे बचने का एक तरीका नहीं था यदि वे एक सिस्टम स्तर पर कुछ कर रहे थे जो उपयोगकर्ता इनपुट की आवश्यकता थी।
जैसा कि क्यों यह अभी भी उस तरह से है, लोग इसका इस्तेमाल करते थे, डेवलपर्स ने दशकों तक उस धारणा के साथ क्रमादेशित किया और अधिक महत्वपूर्ण रूप से गैर-प्रोग्रामर ने अपने कार्यालय स्वचालन लिपियों में उन संवादों का उपयोग किया और Microsoft कुछ भी नहीं है यदि लक्ष्यों के पीछे एक सख्त अनुपालन नहीं है ।
पर्दे के पीछे, विंडो बनाते समय प्रोग्राम (हमारे मामले में यह एमएस वर्ड है) एक "एक्स बटन क्लिक इवेंट हैंडलर" बनाता है। जब एक संवाद विंडो होती है, तो वर्ड रिकॉर्ड करता है। फिर, एक्स बटन हैंडलर में, जब एक्स बटन क्लिक किया जाता है, तो यह रिकॉर्ड किए गए खुले डायलॉग विंडो के लिए जांच करता है। यदि कुछ हैं, तो हैंडलर क्लोज ऑपरेशन को रोक देता है। यदि नहीं हैं, तो यह प्रोग्राम को समाप्त करता है और ओएस प्रोग्राम द्वारा ली गई मेमोरी को साफ करता है। यह इस तरह काम करता है।