अगर वहाँ एक संवाद बॉक्स खुला है तो Microsoft Word को वास्तव में बंद क्यों नहीं कर सकता?


28

मुझे कभी-कभी वह त्रुटि मिलती है जो Word किसी अन्य संवाद बॉक्स के साथ दस्तावेज़ को बंद करने का प्रयास करता है, लेकिन मैं कभी यह पता लगाने में सक्षम नहीं हुआ कि ऐसा क्यों होता है।


6
सामान्य मुद्दा यह है कि मुख्य विंडो में आप जो करते हैं, उसके आधार पर संवाद में सामान मान्य, अमान्य, या अनुपयुक्त भी हो सकता है, और उपयोगकर्ता द्वारा संवाद में किए गए परिवर्तनों के साथ इसे हल करने का कोई स्पष्ट तरीका नहीं है। अंतरिम। (मुझे लगता है कि यह "फीडबैक लूप्स एक सिस्टम में समस्याएं पैदा कर सकता है" के अधिक सामान्य सिद्धांत का एक और प्रकटीकरण है।)
मेहरदाद

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

जवाबों:


61

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


4
लेकिन अगर संवाद मोडल थे, तो ओपी ने प्रोग्राम को बंद करने का निर्देश कैसे दिया? हो सकता है कि यहां कुछ और चल रहा हो?
मोनिका

7
@LightnessRacesinOrbit प्रोग्राम को बंद करने के कई तरीके हैं, जिनमें से सभी को मुख्य विंडो पर क्लिक की आवश्यकता नहीं है। उदाहरण के लिए, आप टास्कबार प्रविष्टि पर राइट-क्लिक कर सकते हैं और "बंद" का चयन कर सकते हैं, या टास्क मैनेजर को Ctrl-Shift-Esc के साथ खींच सकते हैं और वहां से बंद करने का प्रयास कर सकते हैं। शट डाउन करना विंडोज शुरू में भी इनायत से अनुप्रयोगों को बंद करने का प्रयास करेगा, हालाँकि समय के बाद उन्हें "मार" सकता है। ये प्रोग्राम को वास्तव में फोकस किए बिना बंद करने के लिए एक संकेत भेजते हैं, इसलिए बॉब का स्क्रीनशॉट उस क्रम में "क्लिक करें ठीक, स्विच टू वर्ड" कह रहा है।
IMSoP

@IMSoP: मुझे पता है कि एप्लिकेशन को बंद करने के लिए पूछने के लिए और अधिक "इंजीनियरिंग" तरीके हैं, लेकिन मैं मानसिक रूप से एक ऐसी रेखा खींचूंगा जहां मुझे लगता है कि "आम उपयोग" समाप्त होता है, क्योंकि मुझे उम्मीद है कि ओपी वास्तव में निर्दिष्ट करेगा कि क्या वे कर रहे थे अगर यह "आम उपयोग" से परे थे।
मोनिका

11
@LightnessRacesinOrbit मैं आपको अनुदान देता हूं टास्क मैनेजर एक अधिक "विशेषज्ञ" तरीका है, लेकिन मुझे बिल्कुल आश्चर्य नहीं होगा अगर लोगों ने सोचा कि टास्कबार से कुछ बंद करना बिल्कुल सामान्य था। वास्तव में, मुझे अब एहसास हुआ है, आपको राइट-क्लिक करने की भी आवश्यकता नहीं है, अगर आप एक समूह पर मंडराते हैं या छोटे थंबनेल को देखते हैं तो लाल [x] बटन है। अलग-अलग लोगों को अलग-अलग चीजें स्पष्ट लगती हैं।
IMSoP

@IMSoP: यह सच है।
मोनिका

20

संवाद बॉक्स कुछ इस तरह कह रहा है:

आपने अपने दस्तावेज़ में परिवर्तन किए हैं, क्या आप उन्हें सहेजना चाहते हैं? (हाॅं नही)

यहाँ कोई स्पष्ट सही उत्तर नहीं है। आपने गलती से अपने दस्तावेज़ को दूषित कर दिया होगा (उदाहरण के लिए, कीबोर्ड के ऊपर से बिल्ली चली गई) जिस स्थिति में उत्तर "नहीं" है, या हो सकता है कि आपने परिवर्तनों को लिखने में घंटों बिताए हों, जिस स्थिति में उत्तर "हाँ" है।

Word के लिए सबसे सुरक्षित बात यह है कि जब तक आप सवाल का जवाब नहीं देते, तब तक उसे बंद करने से मना कर दिया जाता है।


8
मुझे पूरा यकीन है कि प्रश्न विशेष रूप से इस त्रुटि के बारे में है ।
बॉब

12
ठीक है, लेकिन प्रश्न में किसी विशेष संवाद बॉक्स का उल्लेख नहीं किया गया है। मैं एक प्रोग्रामर हूं, मैं समझता हूं कि एक मोडल डायलॉग बॉक्स क्या है, हालांकि मैंने इस सवाल का जवाब देने की कोशिश की कि ऐसा क्यों होता है।
निक गैमन

IMHO होगा ध्यान रखें कि जो लोग प्रोग्रामर नहीं हैं वे प्रोग्राम का उपयोग करते हैं।
लॉरेंस

1

क्योंकि प्रोग्राम को इस तरह से डिज़ाइन किया गया है, ताकि उपयोगकर्ता को कार्रवाई न करने से बचना पड़े।

आमतौर पर, एक डायलॉग बॉक्स प्रदर्शित किया जाता है जब प्रोग्राम को कुछ कार्रवाई करने के लिए उपयोगकर्ता की आवश्यकता होती है। एक सहेजे गए दस्तावेज़ को बंद करना उत्कृष्ट उदाहरण है: एक संवाद परिवर्तनों को सहेजने, परिवर्तनों को त्यागने या समापन को बंद करने और संपादन पर लौटने का प्रस्ताव देता है। कार्यक्रम जानबूझकर इस प्रश्न का उत्तर दिए बिना बंद करने से इनकार करता है क्योंकि समापन कुछ कार्रवाई करने के लिए मजबूर करेगा। यह कार्यक्रम उदा। हाल के संपादन को छोड़ दें, या इसके विपरीत, बिल्ली-ऑन-द-कीबोर्ड टाइपिंग के साथ सही संस्करण को ओवरराइट करें।

यहां तक ​​कि अगर हम एक संवाद पर विचार करते हैं जो समापन से संबंधित नहीं है, तो आमतौर पर इसका मतलब है कि कुछ प्रक्रिया चल रही है, यह अभी तक पूरा नहीं हुआ है, और उपयोगकर्ता को यह तय करना होगा कि किस रास्ते पर जाना है। यह "बस गर्भपात" नहीं हो सकता है, क्योंकि गर्भपात भी एक ऐसी क्रिया है जो उपयोगकर्ता का मतलब नहीं हो सकता है।

यह कार्यक्रम के डिजाइन को भी सरल बनाता है, क्योंकि इसके रचनाकारों को हर फ़ंक्शन का "एक सुरक्षित तरीका" बनाना नहीं है।

आज, अधिकांश संवाद तकनीकी अर्थों में मॉडल नहीं हैं (कार्यक्रम जिम्मेदार है), लेकिन कार्यक्रम के तर्क प्रवाह के व्यापक अर्थों में उन्हें अभी भी सरल बनाना आसान है।


0

मुझसे गलती हो सकती है, लेकिन मुझे संदेह है कि यह पुराने सामान्य संवाद नियंत्रण व्यवहार पर वापस जाता है।

यदि वापसी के बिना अचानक मारे गए लोगों में से कई को अप्रिय दुष्प्रभाव पड़ा, तो कभी-कभी अब मृत कार्यक्रम के बाहर भी और सभी मामलों में विनम्रता से उनसे बचने का एक तरीका नहीं था यदि वे एक सिस्टम स्तर पर कुछ कर रहे थे जो उपयोगकर्ता इनपुट की आवश्यकता थी।

जैसा कि क्यों यह अभी भी उस तरह से है, लोग इसका इस्तेमाल करते थे, डेवलपर्स ने दशकों तक उस धारणा के साथ क्रमादेशित किया और अधिक महत्वपूर्ण रूप से गैर-प्रोग्रामर ने अपने कार्यालय स्वचालन लिपियों में उन संवादों का उपयोग किया और Microsoft कुछ भी नहीं है यदि लक्ष्यों के पीछे एक सख्त अनुपालन नहीं है ।


0

पर्दे के पीछे, विंडो बनाते समय प्रोग्राम (हमारे मामले में यह एमएस वर्ड है) एक "एक्स बटन क्लिक इवेंट हैंडलर" बनाता है। जब एक संवाद विंडो होती है, तो वर्ड रिकॉर्ड करता है। फिर, एक्स बटन हैंडलर में, जब एक्स बटन क्लिक किया जाता है, तो यह रिकॉर्ड किए गए खुले डायलॉग विंडो के लिए जांच करता है। यदि कुछ हैं, तो हैंडलर क्लोज ऑपरेशन को रोक देता है। यदि नहीं हैं, तो यह प्रोग्राम को समाप्त करता है और ओएस प्रोग्राम द्वारा ली गई मेमोरी को साफ करता है। यह इस तरह काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.