2010-05-26 11 views
7

पर हम वीएस2005 से वीएस -2010 तक अपग्रेड कर रहे हैं। हम लगभग वहां हैं लेकिन क्रिस्टल रिपोर्ट्स में कोई समस्या है। हम अपने सी ++ एप्लिकेशन के भीतर आरडीसी (COM- आधारित) घटक का उपयोग करते हैं।CRXIR2 विंडोज 7 पर वीएस -2010 के साथ काम नहीं करता है और न ही Vista

विंडोज 7 या VISTA पर, मैं दर्शक नहीं देख सकता और न ही डिजाइनर नियंत्रण काम कर रहा हूं। मैं पहुँच उल्लंघन जब नियंत्रण सक्रिय होता है:

// from atlhost.h (line 2208) 
hr = m_spOleObject->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, spClientSite, 0, m_hWnd, &m_rcPos); 

अजीब बात यह है कि जब मैं एक XP मशीन पर एक ही exe चलाने के लिए, यह काम करने के लिए लगता है।

हम मूल रूप से "AtlAxWin100" विंडो वर्ग का उपयोग क्रिस्टल रिपोर्ट नियंत्रण ("CrystalReports11.ActiveXReportViewer.1") में होस्ट करने के लिए। मैं क्रिस्टल की SP6 संस्करण का उपयोग कर रहा हूँ तो रिपोर्ट है कि नवीनतम संस्करण है।

इसके अलावा, जब मैं वीएस2005 के साथ एक ही कोड संकलित करता हूं और इसे विंडोज 7 या Vista पर चलाता हूं तो सब ठीक काम करता है।

क्या किसी के पास कोई समस्या है कि समस्या का कारण क्या हो सकता है, या आगे की जांच के लिए विचार क्या हैं?

उत्तर

3

ऐसा लगता है कि यह डीईपी के साथ कुछ करने के लिए है।

अगर हम बंद डीईपी पूरी तरह से सिस्टम पर

bcdedit /set Nx AlwaysOff 

और फिर रिबूट ज़ाहिर है, व्यूअर काम करता है के साथ बदल जाते हैं!

दुर्भाग्य से यह एक प्रणाली वैश्विक बंद है। हमने पहले हमारे exe के लिए डीईपी बंद करने की कोशिश की, लेकिन फिर हमें विंडोज से एक संदेश मिला कि हमें हमारे exe के लिए डीईपी बंद करने की अनुमति नहीं थी ...

+1

शायद कारण यह है कि हम इसे बंद नहीं कर सकते हैं कि हमारे पास हमारे exe में .NET कोड भी है। हालांकि editbin.exe/NXCOMPAT: NO myExe.exe आप इसे केवल exe के लिए बंद कर सकते हैं! – tangens

+0

विजुअल स्टूडियो में आप कॉन्फ़िगरेशन गुणों में अपने एप्लिकेशन के लिए डीईपी बंद कर सकते हैं-> लिंकर-> उन्नत-> डेटा निष्पादन रोकथाम (डीईपी) ->/NXCOMPAT: नहीं – TehShrike

1
संबंधित मुद्दे