2009-06-10 11 views
5

मेरे पास एक फॉर्म पर वेब ब्राउजर नियंत्रण है जो उस पर एक फ्लैश कंट्रोल वाला एक पेज लोड कर रहा है। आईई 8 में अपग्रेड करने के बाद से यह अब काम नहीं करता है। हर बार जब मैं अपना फॉर्म खोलता हूं तो मुझे फ्लैश इंस्टॉल करने के लिए एक संकेत मिलता है। इससे कोई फर्क नहीं पड़ता कि मैं वहां से क्या करना चुनता हूं फ्लैश शुरू नहीं होगा, इसलिए मेरा पेज बस्ट किया गया है। जब यह एक एम्बेडेड नियंत्रण के रूप में चल रहा है, तो आईई में फ्लैश को काम करने के तरीके के बारे में कोई संकेत?आईई 8, फ्लैश, और विनफॉर्म वेबब्राउज़र कंट्रोल

यदि मैं अपने ऐप के बाहर IE8 में इस पृष्ठ पर नेविगेट करता हूं तो पृष्ठ ठीक काम करता है।

+0

मैं इसे और अधिक खोदने के बाद इसे समझने में सक्षम हूं। मैं IE8 को दोष देने में गलत था, लेकिन मेरी वास्तविक समस्या तब थी जब मेरे विंडोज ऐप को 64 बिट एप्लिकेशन के रूप में चलाया गया था। फ्लैश इस मोड में लोड करने में विफल रहता है (मुझे पहले भी 64 बिट्स में COM के साथ समस्याएं आई हैं) और यह मेरी समस्या का स्रोत है। उच्च स्मृति उपयोग के कारण कुछ लोगों को 64 बिट मोड में अपना ऐप चलाने की ज़रूरत है यदि उनका कंप्यूटर इसका समर्थन करता है। क्या कोई जानता है कि WebBrowser नियंत्रण को 32 बिट आईई नियंत्रण को अंतर्निहित ActiveX नियंत्रण के रूप में कैसे लोड किया जाए? हां, मुझे पता है कि वास्तव में हर काम पर एक लंबा शॉट है। धन्यवाद – Kleinux

+0

जहाँ तक मुझे पता है, नहीं, आपके 64 बिट ऐप को 32 बिट वेबब्रोसर नियंत्रण होस्ट करने का कोई तरीका नहीं है। यदि आप आउट-ऑफ-प्रोसेस आईई इंस्टेंस बनाने के लिए सीधे CoCreateInstance को कॉल कर रहे थे, तो आप CLSCTX_ACTIVATE_32_BIT_SERVER को पारित करने का प्रयास कर सकते हैं। – EricLaw

+0

होस्टेड पेज एचटीएमएल + फ्लैश है या यह मुख्य रूप से सिर्फ फ़्लैश है? –

उत्तर

1

आप ब्राउज़र नियंत्रण का उपयोग करने के बजाय सीधे अपने WinForms ऐप में फ्लैश ActiveX नियंत्रण होस्ट कर सकते हैं। हम इसे अपने ऐप में करते हैं और यह काम करता है। पूर्ण स्क्रीन मोड में ईएससी जैसे कुछ क्विर्क वास्तव में पूर्ण स्क्रीन से बाहर नहीं निकलते हैं, लेकिन अधिकांश भाग के लिए काम करता है।

एसडब्ल्यूएफ और विनफॉर्म ऐप के बीच संचार के लिए एक एपीआई (लेकिन खराब दस्तावेज) भी है। हालांकि हमने इसे स्वयं इस्तेमाल नहीं किया है।