Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con BPL's y Windows 2000 (https://www.clubdelphi.com/foros/showthread.php?t=45049)

jcarteagaf 21-06-2007 14:10:55

Problema con BPL's y Windows 2000
 
Hola amigos. Tengo un problema con mi sistema, espero su ayuda.

Tengo un sistema compuesto por varios Exes, uso Delphi 7 y cada exe llegaba a ocupar entre 6 y 10 mb segun los componentes que uso (uso varios), asi que modifique la opcion de Build with runtime packages en Project Options, y agregue a mi instalador los bpl's necesarios que se copian a Windows\System32

Todo funciona bien en las maquinas en las que he probado la apliccion (todas con Windows XP) pero cuando lo hago correr en un equipo con Windows 2000 Server la aplicacion no se ejecuta (antes funcionaba con los bpls incluidos en los exes). Si alguien por favor podria ayudarme indicando que estoy haciendo mal (si soy yo) o si necesito algo mas para que esto funcione.

Por si acaso reduzco mas el tamaño de los exes usando UPX.


Gracias de antemano por su interes y su tiempo.

mensana 21-06-2007 15:16:11

Cita:

Empezado por jcarteagaf
... pero cuando lo hago correr en un equipo con Windows 2000 Server la aplicacion no se ejecuta

Por si acaso reduzco mas el tamaño de los exes usando UPX.

Usar UPX no te resolverá el problema.

Prueba con esta herramienta : http://www.dependencywalker.com/

jcarteagaf 21-06-2007 16:12:25

... y sigue el problema
 
Muchas gracias por su respuesta y tu interes en mi problema.

En realidad uso UPX para reducir el tamaño de los ejecutables, ya que debo actualizar a varios equipos via Hamachi, para hacer el envio mas rapido.

Obviamente que no tiene nada que ver con el problema de las BPL's pero me ayuda a tener exes mas pequeños.

Pero mi duda sigue, alguien mas puede ayudarme?

jhonny 21-06-2007 16:20:25

Bueno, pero ¿Simplemente no abre tu ejecutable o por lo menos te muestra algún error?, Si te muestra algún error ¿Cual?

poliburro 21-06-2007 16:29:05

Generalmente el ejecutable buscarà las bpls en el directorio System de windows, pero puede funcionar igual si incluyes todos los bpls en el mismo directorio de tu aplicaciòn.

Esto puedo ayudarte a prevenir problemas en caso de que tu instalador no sea capaz de ubicar correctamente el directorio system de windows

dec 21-06-2007 16:43:47

Hola,

¿Y no podrían causar problemas versiones distintas de los archivos BPL? Eso ocurre con las "DLL" normales y corrientes, ¿no? Yo creo que lo mejor es lo que Poliburro apunta: situar las dependencias de nuestro proyecto en el directorio de este, o en un subdirectorio, si se pudiera, pero no en "Windows" o "System32"...

Lo que digo lo mismo no tiene que ver con tu problema en concreto (que no me imagino cuál puede ser) sino que me parece que es una buena práctica. Si otro programa hace lo mismo que tú y guarda los archivos BPL en el directorio de Windows... según yo habría problemas si dichos archivos BPL fueran versiones anteriores a las que tu programa necesita.

Vamos... o eso, o estoy complementa equivocado, que también puede ser. :)

jcarteagaf 21-06-2007 18:38:41

...y aun con el mismo problema
 
Nuevamente, muchas gracias por su tiempo y su interes en mi problema.

Por un error de mi parte no indique el sale el siguiente mensaje al ejecutar la aplicacion

"La apliación no se ha podido inicializar correctamente (0xc0000142). Haga click en Aceptar para terminar la aplicación"

Esta descartado la incompatibilidad de BPL pues es una maquina nueva y solo ejecuta mi aplicacion.

He probado colocando los bpls en la carpeta de mi exe y aun da el mismo error.

que mas puedo hacer? . Gracias

Lepe 21-06-2007 19:03:56

Ese error nos dice bien poco, lo único viable que recomiendo es montar un log.

Ir escribiendo en un archivo .txt por donde va pasando el programa, pondría atención a la creación del datamodule, la apertura del TDatabase, transacción, sesión, etc y la apertura de tablas, así como la creación de la ventana principal (que seguro no llegas a ver). Es decir, mensajes por doquier del tipo:
Código:

proc datamodule OnCreate
configurando la ruta de la BD
intentar abrir la base de datos.
Base de datos abierta
abriendo tablas
tablas abiertas

Quizás pudieras identificar por donde va el problema.

Lo que puede fallar es muy variado, quizás por rutinas de red (¿compartes una carpeta por código?, ¿accedes a la base de datos por red local?, ¿el usuario es un administrador o cuenta limitada?). ¿Se necesita algo extra para funcionar? por ejemplo el BDE si usas tablas paradox, el instalador del Servidor Firebird, etc ..

Suerte

jcarteagaf 21-06-2007 19:35:20

que problemon....
 
Gracias por sus respuestas y sugerencias.

Ya habia considerado todo aquello y uso el Eurekalog para verificar los errores, pero como indique en el inicio de este tema, el programa funciona si lo compilo con los bpl's (pero genera exes enormes), pero cuando le quito los bpls da el error arriba indicado.

A ver si a alguien se le ocurre que puede ser.

Gracias

egostar 21-06-2007 19:40:28

No te estará faltando algún BPL :confused:

Puedes verificar cuales son los que tu aplicación requiere, compila tu programa, luego project-->information for ......

Te mostrará una ventana donde podrás ver las BPL's que requieres.

Por otro lado, de cuantos megas estamos hablando, eso ya no es tan problematico en estos tiempos de DD con n gigabytes, bueno, solo es un comentario al aire, no me hagas mucho caso.

Salud OS.

ariefez 26-06-2007 17:55:08

Si estas usando componentes para la conexion a una BD, asegurate de no dejarlos conectados, porque al iniciar la aplicacion en otra PC estos intentaran conectarse y al no encontrar la BD causaran una excepcion, oblingando a cerrar la misma.


La franja horaria es GMT +2. Ahora son las 06:34:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi