एक समाधान है, लेकिन यह सुंदर नहीं है। मुख्य मुद्दा यह है कि शब्द स्वयं आरओटी (रनिंग ऑब्जेक्ट टेबल) में पंजीकृत होता है, और अन्य अनुप्रयोगों को आसानी से आरओटी में पंजीकृत वर्ड के उदाहरण तक पहुंच प्राप्त हो सकती है (उदाहरण के लिए वीबी गेटऑब्जेक्ट फ़ंक्शन क्या करता है)।
तो, अपने अनुप्रयोग में, आप मूल रूप से करने के लिए 2 बातें
- GetObject करने की कोशिश करो होगा (यानी एक चल इंस्टेंस के लिए ROT क्वेरी)
- कि इन्हें पाने के हैं, तो आप जानते हैं कि आपके पास वर्ड का उपयोग करने के लिए वर्ड का एक नया उदाहरण बनाने के लिए (CreateObject वीबी में, प्रक्रिया अन्य लैंग्स में अलग है)।
- यदि आपको कोई नहीं मिलता है, तो आपको Word के 2 नए उदाहरण बनाना होगा। पहला स्वचालित रूप से आरओटी में खुद को पंजीकृत करेगा, दूसरा नहीं होगा। दूसरा उदाहरण, और काफी पहले उदाहरण का प्रयोग करें।
हालांकि आपको लगता है कि पहले उदाहरण समाप्त कर दें, यह "पूर्वव्यापी प्रभाव से" खुद ROT में रजिस्टर नहीं करेगा, और अन्य अनुप्रयोगों के आम तौर पर यह करने के लिए एक संदर्भ वस्तु का उपयोग नहीं होगा, वे स्वतः एक नया उदाहरण बना देंगे, जो, चूंकि अब आरओटी में कोई अन्य उदाहरण पंजीकृत नहीं है, तब पंजीकृत हो जाएगा।
यह कहा गया है कि यह अभी भी संभव है अन्य ऐप्स के लिए Word के आपके उदाहरण को प्राप्त करने के लिए, इसलिए यह तकनीक बुलेटप्रूफ नहीं है। कैसे? क्योंकि शब्द भी आरओटी में प्रत्येक लोड किए गए दस्तावेज़ को पंजीकृत करता है। लेकिन यह एक बहुत ही कम इस्तेमाल की सुविधा है।
मुझे उस पर एक जवाब देखना अच्छा लगेगा:> – naacal
शब्द के व्यवहार को बदलने से उपयोगकर्ता * बहुत * भ्रमित हो जाएंगे। आप कौनसी समस्याएं हल करने की कोशिश कर रहे हैं? – egrunin
जैसा कि मैंने वर्णन किया है, उपयोगकर्ता और एप्लिकेशन को प्रत्येक शब्द का एक अलग उदाहरण प्राप्त करना चाहिए। लेकिन यदि उपयोगकर्ता एक दस्तावेज़ खोलता है (डॉक्स पर डबल क्लिक करें) जबकि एप्लिकेशन एक छिपे हुए शब्द उदाहरण में काम कर रहा है, तो इस दस्तावेज़ में उपयोगकर्ता दस्तावेज़ खोला जाएगा और इस उदाहरण में मेरे ऑपरेशन को क्रैश कर देगा क्योंकि सक्रिय दस्तावेज़ बदलता है। – Gpx