2010-05-26 10 views
7

Estamos actualizando de VS2005 a VS2010. Ya casi llegamos, pero hay un problema con Crystal Reports. Utilizamos el componente RDC (basado en COM) dentro de nuestra aplicación C++.CRXIR2 no funciona con VS2010 en Windows 7 ni en Vista

En Windows 7 o en VISTA, no puedo hacer funcionar al espectador ni a los controles del diseñador. consigo Violaciónes de acceso cuando se activa el control:

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

Lo extraño es que cuando corro el mismo exe en una máquina XP, parece que funciona.

Básicamente utilizamos la clase de ventana "AtlAxWin100" para alojar el control de informes de Crystal ("CrystalReports11.ActiveXReportViewer.1") en. Estoy utilizando la versión SP6 de los informes de Crystal, así que esa es la última versión.

Además, cuando compilo el mismo código con VS2005 y lo ejecuto en Windows 7 o Vista todo sale bien.

¿Alguien tiene alguna idea sobre qué podría causar el problema, o ideas para futuras investigaciones?

Respuesta

3

Parece que tiene algo que ver con DEP.

Si nos desviamos de la DEP por completo en el sistema con

bcdedit /set Nx AlwaysOff 

y luego reiniciar el sistema, por supuesto, funciona el visor!

Desafortunadamente este es un sistema de apagado global. Intentamos desactivar DEP para nuestro exe solo anteriormente, pero luego recibimos un mensaje de Windows que no nos permitía desactivar DEP para nuestro exe ...

+1

Probablemente la razón por la que no pudimos apagarlo es que también tenemos el código .NET en nuestro exe. Sin embargo, con editbin.exe/NXCOMPAT: NO myExe.exe puede desactivarlo solo para el exe. – tangens

+0

En Visual Studio puede desactivar DEP para su aplicación en Propiedades de configuración-> Enlazador-> Avanzado-> Prevención de ejecución de datos (DEP) ->/NXCOMPAT: NO – TehShrike

1
Cuestiones relacionadas