Error al iniciar el programa, falta PBVM70.dll

Al realizar el ejecutable de una aplicación que solo tiene una ventana, con un solo botón sin imágenes.
Al hacer doble click sobre el ejecutable, me aparece el mensaje.
Error al iniciar el programa
No se encontró el archivo .dll requerido, PBVM70.dll

3 respuestas

Respuesta
1
Power builder es un lenguaje que genera un ejecutable del tipo runtime, esto significa que utiliza una serie de librerías externas al ejecutable propio, para poder dar el servicio a que fue concebido, o en otras palabras, un ejecutable de power builder no es capaz de ser independiente y de integrar dentro de el todos los recursos necesarios para poder mantener la ejecución, ya sabes, manejadores de bases de datos, manejadores de memoria, manejadores de video, volúmenes de datos, procesos, etc.
Y para eso necesita de un soporte adicional el cual se encuentra afuera del propio ejecutable, de lo contrario este seria demasiado grande y por ende ineficiente.
Las librerías como pbvm70.dll, y otras más, son parte de ese runtime, en este caso fabricantes como power builder, llaman a este tipo de librerías, de libre distribución, o sea que el programador o entidad de desarrollo, tiene la libertad de poder copiar en cualquier ordenador estas librerías para poder ser utilizadas con el ejecutable y poder ejecutar sus aplicaciones.
Y todas estas se encuentran exactamente en el directorio donde encontraste la solución.
Ahora bien,
estoy de acuerdo con que no es la solución correcta, pues si copias todas tus aplicaciones en este directorio al final vas a tener una serie de cosas que no tienen nada que ver con el original y posiblemente te encuentres con una serie de librerías que tienen conflicto unas con otras, pues tendrías que tener el cuidado de no repetir los nombre, o en muchos casos que utilices librerías comunes, y no sean compatibles las versiones entre ejecutables.
La solución es muy sencilla
el directorio c:\Arcivos de programa\Sybase\Shared\PowerBuilder
Debería de ser copiado en un directorio que se encuentre en el servidor de aplicaciones. Y luego un directorio para cada aplicación, un ejemplo.
Tengo una gestión de almacen, una contabilidad, una facturación.
Cada uno son aplicaciones totalmente independientes. Entonces.
Genero un directorio al cual llamo APLICACIONES, dentro de este
Almacenes
Facturación
Contabilidad
Común
Deltro del directorio ALMACENES, integro la gestión de almacenes, y así por cada uno que fuera evidente según su nombre, cuando llego al directorio COMÚN integro el contenido de C:\Archivos de programa\Sybase\Shared\PowerBuilder
Cuando en el cliente asigno el acceso a estas aplicaciones, primero relaciono el cliente con el servidor por medio de un nombre de unidad lógica, la cual estará relacionada directamente con el directorio APLICACIONES, digamos por ejemplo que le asigna la unidad F
inmediatamente después generaré un SHORT-CUT, o un acceso directo, de cada aplicación que necesitaré ejecutar en el cliente, relacionada esta por cada directorio, entonces en la unidad F: encontraré los directorios ALMACEN, FACTURACIÓN, CONTABILIDAD, COMÚN
Por ejemplo, asignamos un acceso directo a contabilidad, dentro del directorio correspondiente, seleccionamos el ejecutable que inicia la aplicación,
una vez creado el acceso directo, haciendo click sobre el con el botón derecho del ratón selecciono las propiedades, en esta encontraras una casilla relacionada con un titulo que pone INICIAR EN si tu windows esta en castellano o START IN si es en ingles, aquí en lugar de iniciar en F:\CONTABILIDAD, cambia a F:\COMUN, y eso será todo.
Finalizando.
Como veras en el ejemplo anterior, simplemente coloco cada aplicación en un directorio propio, y las librerías de runtime en otro totalmente diferente, de tal manera que estas sean de común labor para todas las aplicaciones que genero, o utilizo, y ademas se encuentran en un servidor, de tal forma que todos los clientes apuntan a estos directorios, haciendo de esta forma, más fácil la actualización de mis aplicaciones, y asegurándome que todos los clientes apuntan a la misma version, de ejecutable o de lenguaje.
Respuesta
1
Esa librería es la virtual machine de PB.
Básicamente quiere que esa librería este en el mismo directorio que el exe o bien en el path del SO.
Esa es la librería básica de PB, después dependiendo de lo que hiciste en tu aplicación (ej. Conexión con odbc, nativo, richtext etc) necesitás otras librerías.
En tiempo de diseño no te las pide porque PB sabe como encontrarlas.
Respuesta
1
Para que te funcione correctamente debes de tener también puesto en el Path la ruta de C:\Archivos de programa\Sybase\Shared\PowerBuilder en el autoexec.bat ( si tienes windows 98 ) o en variables de entorno si tienes w2k, xp o nt

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas