Win7 AYUDA CON .DLL

Todas las versiones, productos y servicios de Windows 7.
Estado
Cerrado para nuevas respuestas.

Pr0diGy

LANero Fundador
Lanero VIP
30 May 2001
54
Saludos mis amores, raro yo por aqui, pero igual ando...

el asunto es el siguiente, resulta que hice un miniprogramita en VB. 6.0 , pero al tratr de ejecutarlo en alguno equipos me saca un error (dice que el archivo oleaut32.dll is out of date, this program requieres a new version), asi que lo que hice fue copiar el de mi casa que es w2000 e incluso el de unos de w98 en donde funciono, lo copio los pc con el problema y sigue sin funcionar.

que me recomiendan o que puedo hacer?

un beso.

____________________________________
Llevo con orgullo mi camiseta de Laneros.com
 
Pues.... no se de donde bajar los archivos del sitio de microsoft.. Son algunas DLLs para los programas, pero la solucion mas efectiva es empacar el programa con el instalador que trae el Visual Basic, que automaticamente incluye las DLLs que el programa necesita.
 
Pues vea que yo siempre tuve ese problema, los progs solo trabajaban en equipos que tenian el compilador en el que lo habia hecho, en mi caso borland c++ o borland c++ builder. Nunca tuve tiempo para buscar, pero me dijeron que el programa tiene la opcion de guardarse todos los archivos que necesita. Busquese en las ayudas que ahi debe salir.

Suerte
 
Algunos controles necesitan DLL's que se instalan con el VB y no son FREE, hay que pagar por ellas. Yo te recomiendo hacer paquetes que solo requieran librerias gratuitas, como lo son las herramientas básicas de VB, ellas bienen incluidas en las RUNTIME de VB.
Aquellos accesorios que se necesitan y no son FREE practicamente hay que reinventarlos, no es dificil.
Observa que objetos estas insertando en tu FORM, uno de ellos esta utilizando esas librerias problema.
 
como todo ide mocosoft debes instalar las libreraias de visul6 en el equipo en el que vayas a usar la appz desarrolada, esto es un porquria por eso detexto estos ide,, tambiaen has un instalador con las librerias necesaraias, vbasic permite hacere sto


bytes
 
Es muy probable que no te este funcionando porque no estas registrando la DLL, la solucion es usar el empaquetador de VB, ya que al hacerlo manualmente tienes que registrar la DLL tu mismo, el empaquetador lo hace automaticamente, ha de ser por eso que a pesar que ya colocaste las dll el programa siga mostrandote errores de ese tipo.

Fireman
:llamas2:
 
OE SEÑORES QUE PENA CON USTEDES CON MI IGNORACIA PERO QUE ES UN .DLL Y ESO PA QUE SIRVE?
 
DLL Es una libreria de funciones (codigo) Codigo precompilado que puede hacer o no parte de una aplicación!

Fireman
:llamas:
 
Originalmente colocado por Armando
Pues vea que yo siempre tuve ese problema, los progs solo trabajaban en equipos que tenian el compilador en el que lo habia hecho, en mi caso borland c++ o borland c++ builder. Nunca tuve tiempo para buscar, pero me dijeron que el programa tiene la opcion de guardarse todos los archivos que necesita. Busquese en las ayudas que ahi debe salir.

Suerte

Ala si Armando, yo he tenido el mismo problema, pero no he podido hacer que todas las librerías se enganchen al programa cuando le hago Build, por ahi estuve mirando todas las opciones pero nada, alguna idea?, la solución más temprana que se me ocurrio por el momento fue intentar correr el programa en un pc virgen de Builder y copiar las librerías que necesitaba, pero me sigue haciendo tilín esto.
 
Yo también traté eso, pero cada vez me sacaba un dll nuevo, yo lo que hacia era llevar siempre el cd de instalación del borland o el builder, instalar en donde iba a correr el programa y listo.
 
No tengo ni idea de como realizarlo en otros compiladores, pero en Visual C++ puedes escoger una opción (en la configuración de enlace del proyecto) para que genere el ejecutable usando librerías estáticas, de ese modo se evita que el exe dependa de un sin fin de archivos DLL.

Obviamente esto trae como consecuencia ejecutables mucho más voluminosos, la solución ideal es crear un instalador para tu programa (los IDEs traen utilidades para eso) que se encarga de copiar y registrar los DLLs que necesita.
 
Jajaj Que pasa si un PC no tiene DLL? Pues todos los programas que dependan de esas DLL no se van a ejecutar... Eso son las DLL... Son librerías que contienen código que se ejecuta en varios programas... Y como decia Miguel, son muy útiles a la hora de ahorrar tamaño en disco y (lo más importante) en memoria.
 
Haber o sea que segun todo lo que han dicho miguel julian y todo el mundo, si uno compila un exe en C++ que ya tenga el codigo de las DLL embebido, obviamente el ejecutable crece, pero cada vez que lo ejecutamos, todo eso se carga en memoria?

o sea que si el Windows por decir algo fuera posible meter todas las dll de System32 a el win.com (supongamos que es exe) y todo el windows estuviera en un archivo, y el archivo mide 500MB, entonces eso ocuparia en memoria a la hora de ejecutarlo?

ODDG, te pregunto, que funciones no son free de lo que dice mr prodigy?
 
Más o menos.... Un ejemplo, por ejemplo, (hehe) son las librerías de controles de Windows... Los controles para las ventanitas de WIndows, las pestañitas, las barritas... Todo eso... Se encuentra en librerías como la comctl32.dll... Esta librería es una muy comun entre los programas de Windows y mide 500K... imaginate si el contenido de esa librería estuviera en TODOS los programas que la necesitan....El espacio en disco crece obviamente, pero lo que más crece es el espacio en Memoria..... Digamos que vos tenes el explorer, el internet explorer, el outlook, el word, el windows commander, el secure crt, el winamp, el trillian, etc.... Cada programa metiendo 500K de lo mismo en memoria.... Uff... No habría memoria que aguante....

Eso es sólo un ejemplo de una librería usada en los programas de WIndows.. pero en realidad son muchas..... Todas esas librerias se cargan una sola vez en memoria.. Y le sirven a muchos programas.
 
Originalmente colocado por cL-Enigma
Haber o sea que segun todo lo que han dicho miguel julian y todo el mundo, si uno compila un exe en C++ que ya tenga el codigo de las DLL embebido, obviamente el ejecutable crece, pero cada vez que lo ejecutamos, todo eso se carga en memoria?

o sea que si el Windows por decir algo fuera posible meter todas las dll de System32 a el win.com (supongamos que es exe) y todo el windows estuviera en un archivo, y el archivo mide 500MB, entonces eso ocuparia en memoria a la hora de ejecutarlo?

En los archivos ejecutables se pueden encontrar, además del código, otros datos (llamados recursos en la programación de Windows) como son bitmaps, cursores, iconos, textos, información sobre las cajas de dialogo, etc.

Cuando un ejecutable se carga, todo el código (al menos es lo normal con la mayoria de SO) pasa a la memoria, pero los recursos solamente se cargan cuando se utilizan. Por eso, si un ejecutable tuviera hipoteticamente 500 MB no significa que necesitaria esa misma cantidad de RAM. Sobra decir que una vez el programa esta funcionando podría requerir más memoria que el tamaño del archivo exe.

Los archivos dll no solamente salvan memoria cuando existen multiples programas que requieren del mismo código, Windows realiza cierta administración de memoria mientras los programas están en funcionamiento, si se da cuenta de que un DLL no está siendo utilizado desde hace rato y requiere de más memoria podría pasarlo a la memoria virtual, liberando así espacio para otros DLL o datos de los programas que lo requieren.
 
Si tienes el programa completo, él te debe incluir las carpetas de Visual Studio Library, en ellas encuentras absolutamente todos los .dll que te hacen falta, cuando lo compiles él los agregará y cuando lo empaques no te hará falta nada... es un buen consejo.
 
Estado
Cerrado para nuevas respuestas.