ActiveX के माध्यम से Office ऐप्स होस्ट करते समय, आपको कुछ ऑफिस ऐप्स के कुछ संस्करण हास्यास्पद रूप से विंडो सक्रियण परिवर्तनों के बारे में सूचित होने के बारे में स्पर्श करेंगे और यह विशेष रूप से उनके संदर्भ मेनू को प्रभावित कर सकता है।
असल में, यदि आप उन्हें तब भी नहीं बताते जब भी वे खो देते हैं या फोकस प्राप्त करते हैं और जब भी आपकी शीर्ष-स्तरीय विंडो फोकस हो जाती है या फोकस हो जाती है (भले ही खिड़की में उनके बच्चे का नियंत्रण फोकस न हो), फिर वे घास जा सकते हैं।
यह कुछ ऐसा है जो मैंने लंबे समय से लड़ा था और विशेष रूप से निराशाजनक है जब आप अनुप्रयोगों को यह बताना चाहते हैं कि वे आपके से बेहतर स्थिति में हैं (जैसे जब वे सीधे खो देते हैं या फोकस प्राप्त करते हैं .. या जब वे एक पॉप-अप मेनू बनाते हैं जो उनसे दूर ध्यान केंद्रित करता है और फोकस लेने वाले किसी अन्य ऐप/विंडो पर अलग-अलग संभाला जाना है, जिसे आप दिव्य के पास छोड़ चुके हैं ... उह।
वैसे भी, कार्यालय ऐप्स को IOleInPlaceActiveObject इंटरफ़ेस का खुलासा करना चाहिए और आपको यह सुनिश्चित करना चाहिए कि आप इसे सक्रियण/निष्क्रियता के बारे में बताने के लिए अपने ऑनफ्रेम विन्डोएक्टिवेट विधि को कॉल करें।
स्मृति से
, और कार्यालय की मेजबानी के लिए अपने खुद के कोड का शीघ्रता से अवलोकन, कि सबसे महत्वपूर्ण बातों में से एक है। यह अनदेखा करना भी एक आसान बात है, "नहीं, यह इससे कोई फर्क नहीं पड़ता ... खिड़की सक्रिय है या नहीं, इस बारे में कुछ भी क्यों ख्याल रखेगा?" आपको लगता है कि यह केवल कुछ मामूली कॉस्मेटिक मुद्दों (जैसे सक्रिय नहीं होने पर सक्रिय दिख सकता है) का कारण बन सकता है, लेकिन इससे पूरी चीज लॉक हो या क्रैश हो सकती है। मेरा विश्वास करो, कार्यालय ऐसी चीजों के बारे में बहुत ज्यादा परवाह करता है! मैं छाप वहाँ अभी भी है कि कार्यालय के कवर के तहत सहकारी मल्टीटास्किंग clunking के दिनों से एक बहुत पुरानी, एकल पिरोया डिजाइन दूर हो जाते हैं और यह बहुत भ्रमित हो सकते हैं अपनी खिड़कियों की दो लगते हैं जब एक ही बार में सक्रिय होने के लिए।
क्षमा करें कि मैं केवल उस दिशा में इंगित करने से अधिक सलाह नहीं दे सकता ... लेखन ActiveX होस्ट एक काला कला है (सभी दस्तावेज होस्ट किए जाने की दिशा में तैयार हैं, मेजबान नहीं :() और मुझे एकमात्र तरीका मिला काम करने के लिए मेरा अपना कोड परीक्षण और त्रुटि के महीनों और बहुत सारे डीबग-आउट के माध्यम से था। दुर्भाग्य से यह एक दुःस्वप्न है।
सलाह का एक अंतिम भाग: विशेष अनुप्रयोगों के लिए हार्डकोड क्लड से डरो मत । यह आईई ही है, क्या करता है रजिस्ट्री सेटिंग्स के साथ जो क्या (मैं और कुछ और कोड में hardcoded संदेह है) के लिए आवेदन किया हो kludges नियंत्रित करने के लिए है। ActiveX इस तरह के एक खराब परिभाषित गड़बड़ है कि विभिन्न नियंत्रण अपने स्वयं के quirks और कीड़े है और यह है एक स्वच्छ, जेनेरिक होस्ट लिखना असंभव है जो उन सभी के साथ काम करता है। (ए च Ange है कि एक ठीक करता है एक और टूट जाएगा) तुम भी चीजें हैं जो केवल यदि आप एक ही आदेश आईई, करता है कि सिर्फ इसलिए कि वे केवल IE के साथ परीक्षण किया गया है में इंटरफेस की कोशिश काम मिल जाएगा।; चीजें थोड़ा अलग करें और वे अलग हो जाते हैं। :(
स्रोत
2010-11-25 22:50:15
आप कृपया जो संस्करणों और सर्विस पैक स्तर आप OS का उपयोग कर रहे हैं (बता सकते हैं, डेल्फी, ? वर्ड) – pastacool
इस त्रुटि Citrix –
@Judah Himango के बाहर होती है:।। मैं एक सिस्टम Citrix की वर्ड 2000 के बाहर के साथ उपलब्ध नहीं है, तो दुर्भाग्य से मैं अपने सवाल का जवाब नहीं कर सकते हैं –