我們正在從VS2005升級到VS2010。 我們幾乎在那裏,但水晶報表有問題。 我們在C++應用程序中使用RDC(基於COM的)組件。CRXIR2無法在Windows 7和Vista上使用VS2010
在Windows 7或VISTA上,我無法使查看器或設計器控件工作。 我得到的訪問衝突時,控制被激活:
// from atlhost.h (line 2208)
hr = m_spOleObject->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, spClientSite, 0, m_hWnd, &m_rcPos);
奇怪的是,當我一個XP的機器上運行相同的EXE,它似乎工作。
我們基本上使用「AtlAxWin100」窗口類來承載Crystal報表控件(「CrystalReports11.ActiveXReportViewer.1」)。 我正在使用SP6版本的Crystal報表,因此它是最新版本。另外,當我用VS2005編譯相同的代碼並在Windows7或Vista上運行它時,一切都可以正常運行。
有沒有人知道什麼可能導致問題,或想法進一步調查?
也許我們無法關閉它的原因是我們在我們的exe文件中也有.NET代碼。 但與 editbin.exe/NXCOMPAT:NO myExe.exe 您可以關閉它的exe文件! – tangens 2010-05-28 12:56:26
在Visual Studio中,您可以在配置屬性 - >鏈接器 - >高級 - >數據執行保護(DEP) - >/NXCOMPAT:NO中爲應用程序關閉DEP – TehShrike 2011-04-14 19:28:26