
Tenemos en la empresa para la que trabajo una aplicación construida en Delphi V con Crystal Reports 8.
Todos sabemos que Crystal & Delphi pueden ser temperamentales a veces y lo peor es que casi no hay detalles sobre el error. También hay una gran falta de documentación en la web al respecto. Hay mucha gente con problemas similares pero sin solución.
El error del que hablo en particular es el de la imagen de abajo. Esto sucede al intentar imprimir cualquier Crystal Reports en la pantalla.
Esto sucedió a veces en la computadora del cliente y fue difícil para nosotros replicarlo en nuestro entorno. Dado que es una versión antigua de Crystal, es muy difícil encontrar documentación útil para conocer el origen exacto del problema.
Respuesta1
El problema en el registro puede deberse a una doble instalación de BDE. Esto puede suceder por varias razones:
- Reinstalé la aplicación o borland sin desinstalarla antes
- La desinstalación no se completó por completo.
- Instalé una segunda aplicación usando BDE.
Para verificar esto, entré al registro y encontré lo siguiente:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Borland \ Database Engine] "DLLPath" = "C: \ \ Archivos de programa \ \ Archivos comunes \ \ Borland Shared \ \ BDE" en el formato ruta1, ruta2.
Ahora, para solucionar este problema, debe hacer lo siguiente:
- Haga una copia de seguridad de la clave BDE en caso de que algo salga mal.
- Cierra tu aplicación.
- Abra Regedit (Inicio> Ejecutar> regedit.exe)
- Vaya a HKEY_LOCAL_MACHINE \ SOFTWARE \ Borland \ Database Engine
- Luego haga doble clic en la tecla DLLPath edición y 1 de las 2 rutas (Compruebe cuál es la correcta según su instalación). Deberías tener dos caminos como en la imagen de abajo. Quitar uno de ellos
Esto debería tener solo una ruta como en la imagen de abajo.
Cerrar registro
Ahora puedes volver a abrir tu aplicación e intentar abrir cualquier informe en pantalla. Si ha seguido los sencillos pasos correctamente, no debería recibir ningún error y debería poder ver los informes en pantalla.
Esto sucedió particularmente en mi aplicación, pero se debe seguir el mismo proceso en aplicaciones que utilizan Crystal Reports y BDE Admin.
Respuesta2
Cada vez que tengo este tipo de error con Crystal 8.5, estaba relacionado con versiones mixtas de DLL de implementación de Crystal o con la ausencia de ellas. En mi caso con Crystal 6.0 que aún usan algunos de nuestros clientes.
La parte aburrida es encontrar todas las DLL y eliminarlas. Generalmente estarán en %systemroot%\system32 en x86 y en %systemroot%\syswow64 en sistemas x64.
Otras cosas a tener en cuenta:
- Establecer un punto de partida, es decir, aquí siempre nos aseguramos de que funcione en una máquina limpia.
- Varias versiones de Crystal Reports en la misma máquina simplemente no funcionan, punto. No importa si está hablando del entorno de desarrollo o implementación.
- Generalmente coloco todas las DLL de implementación de Crystal 8.5 en %systemroot%\crystal y las coloco en la RUTA del sistema. Eso me resolvió el 95% de los problemas más comunes relacionados con la implementación.
Sé que es un poco tarde para responder, pero podría ayudar a otros.