Chúng tôi đang nâng cấp từ VS2005 lên VS2010. Chúng tôi gần như có nhưng có một vấn đề với Crystal Reports. Chúng tôi sử dụng thành phần RDC (COM-based) trong ứng dụng C++ của chúng tôi.CRXIR2 không hoạt động với VS2010 trên Windows 7 hoặc trên Vista
Trên Windows 7 hoặc trên VISTA, tôi không thể khiến người xem cũng như các điều khiển của nhà thiết kế không hoạt động. tôi nhận được vi phạm truy cập khi kiểm soát được kích hoạt:
// from atlhost.h (line 2208)
hr = m_spOleObject->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, spClientSite, 0, m_hWnd, &m_rcPos);
Điều lạ là khi tôi chạy exe cùng trên một máy XP, có vẻ như để làm việc.
Về cơ bản, chúng tôi sử dụng lớp cửa sổ "AtlAxWin100" để lưu trữ điều khiển báo cáo Crystal ("CrystalReports11.ActiveXReportViewer.1"). Tôi đang sử dụng phiên bản SP6 của các báo cáo Crystal để có phiên bản mới nhất.
Ngoài ra, khi tôi biên dịch cùng mã với VS2005 và chạy nó trên Windows7 hoặc Vista, mọi thứ hoạt động tốt.
Có ai có bất kỳ ý tưởng nào về những gì có thể gây ra sự cố hoặc ý tưởng để điều tra thêm không?
Có lẽ lý do tại sao chúng tôi không thể tắt nó là chúng tôi cũng có mã .NET trong exe của chúng tôi. Tuy nhiên với editbin.exe/NXCOMPAT: NO myExe.exe bạn chỉ có thể tắt nó đi! – tangens
Trong Visual Studio, bạn có thể tắt DEP cho ứng dụng của mình trong Thuộc tính cấu hình-> Trình liên kết-> Nâng cao-> Ngăn chặn thực thi dữ liệu (DEP) ->/NXCOMPAT: NO – TehShrike