Otra forma de leer una DLL
Otra forma de leer una DLL
Hola FiveWinners.
Deseo reducir el numero de DLL que se acompañan en la instalacion de mi aplicacion en la PC de mi cliente; habra una forma de leer una DLL sin que esta exista en al directorio de mi aplicacion? Es decir, que esta DLL forme parte natural de mi aplicacion y se pueda cargar a memoria y usarla?
Por ejemplo podria ser, poner esta dll en un archivo MEMO o BLOB y que la misma aplicacion la ponga en momoria antes de usarla?
Asi cuando se instale el sistema en mi cliente, solo sera necesario instalar el EXE.
Alguien conoce el truco ?
Saludos
Deseo reducir el numero de DLL que se acompañan en la instalacion de mi aplicacion en la PC de mi cliente; habra una forma de leer una DLL sin que esta exista en al directorio de mi aplicacion? Es decir, que esta DLL forme parte natural de mi aplicacion y se pueda cargar a memoria y usarla?
Por ejemplo podria ser, poner esta dll en un archivo MEMO o BLOB y que la misma aplicacion la ponga en momoria antes de usarla?
Asi cuando se instale el sistema en mi cliente, solo sera necesario instalar el EXE.
Alguien conoce el truco ?
Saludos
Visite Chiapas, el paraiso de México.
Re: Otra forma de leer una DLL
Buenas;
Usa ficheros .RES.
Un saludo
JLL
Usa ficheros .RES.
Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 3.1.1 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
Editor de Recursos: PellecC
ADA + OURXDBU -
S.O: XP / Win 7
Blog: http://javierlloris.blogspot.com.es/
e-mail: jllorispersonal@gmail.com
Re: Otra forma de leer una DLL
Como indica JLL
Desde PelleC graba la DLL en RES y lo enlaza como un programas mas
Saludos,
Adhemar
Desde PelleC graba la DLL en RES y lo enlaza como un programas mas
Saludos,
Adhemar
Saludos,
Adhemar C.
Adhemar C.
Re: Otra forma de leer una DLL
Hola jll / acuerllar
Gracias por tu respuesta.
Sin embargo, como hago que las funciones definidas en el DLL se ejecuten, ya hice la prueba con Loadlibrary() y nada.
Como hago referencia a la DLL definida en el RES?
Saludos
Gracias por tu respuesta.
Sin embargo, como hago que las funciones definidas en el DLL se ejecuten, ya hice la prueba con Loadlibrary() y nada.
Como hago referencia a la DLL definida en el RES?
Saludos
Visite Chiapas, el paraiso de México.
Re: Otra forma de leer una DLL
Hola jMelgar
Gracias por tu propuesta, pero no es la solucion, por ahora.
La aplicacion debe se capaz de hacerlo sin uso de herramientas externas.
Sin embargo, gracias por el tip.
saludos
Gracias por tu propuesta, pero no es la solucion, por ahora.
La aplicacion debe se capaz de hacerlo sin uso de herramientas externas.
Sin embargo, gracias por el tip.
saludos
Visite Chiapas, el paraiso de México.
Re: Otra forma de leer una DLL
devtuxtla
No tenes que cargar nada, ya que el .RES es parte del ejecutable.
Ejemplo:
Saludos,
Adhemar
No tenes que cargar nada, ya que el .RES es parte del ejecutable.
Ejemplo:
Code: Select all
DEFINE ICON oIcon RESOURCE 1
DEFINE DIALOG oDlg RESOURCE "DATOS"
DEFINE BUTTON OF oBtnBar RESOURCE "BOTON-SALIR1","","","BOTON-SALIR2" ACTION oDlg:End()
Adhemar
Saludos,
Adhemar C.
Adhemar C.
Re: Otra forma de leer una DLL
Hola aCuellar.
Gracias por contestar, pero no me refiero a recursos, si no a funciones definidas dentro de la DLL
Ejemplo:
DLL32 FUNCTION MyCode(Texto As LPSTR, FileName As LPSTR) AS LONG ;
PASCAL FROM "MyCode" LIB "MyCode.Dll"
La Dll esta implicita dentro del ejecutable, como un .RES
Sin embargo si llamo a la funcion dentro de DLL asi:
nRet:=MyCode("este es un mensaje")
El resutltado es que no encuentra la DLL.
Alguna idea ?
Saludos
Gracias por contestar, pero no me refiero a recursos, si no a funciones definidas dentro de la DLL
Ejemplo:
DLL32 FUNCTION MyCode(Texto As LPSTR, FileName As LPSTR) AS LONG ;
PASCAL FROM "MyCode" LIB "MyCode.Dll"
La Dll esta implicita dentro del ejecutable, como un .RES
Sin embargo si llamo a la funcion dentro de DLL asi:
nRet:=MyCode("este es un mensaje")
El resutltado es que no encuentra la DLL.
Alguna idea ?
Saludos
Visite Chiapas, el paraiso de México.
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Otra forma de leer una DLL
Hola
puedes agregar la DLL al recurso (.res/rc) como datos binarios (RCDATA) desde el programa crea una rutina que lea el recurso y lo grabe en disco (fivewin proporciona la funcion desde la version 11.07 una funcion que te facilita esa extraccion y el grabado)
puedes agregar la DLL al recurso (.res/rc) como datos binarios (RCDATA) desde el programa crea una rutina que lea el recurso y lo grabe en disco (fivewin proporciona la funcion desde la version 11.07 una funcion que te facilita esa extraccion y el grabado)
* New: function RCDataToFile( hInstance, cResName, cFileName ), save to file a binary resource,
hInstance [in, optional]: A handle to the module contains the resource. If this parameter is 0, the function searches the module used to create the current process.
cResName [in]: string with name of the resource.
cFileName [in]: string with name of file will be saved
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Otra forma de leer una DLL
ojo... si tienes alguna libreria de importacion en relacion con la dll esta opcion no te servira, sino pruebalo a ver si te resulta por esta viaDaniel Garcia-Gil wrote:puedes agregar la DLL al recurso (.res/rc) como datos binarios (RCDATA) desde el programa crea una rutina que lea el recurso y lo grabe en disco (fivewin proporciona la funcion desde la version 11.07 una funcion que te facilita esa extraccion y el grabado)
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Re: Otra forma de leer una DLL
Hola Daniel.
Gracias por tu respuesta.
Sin embargo tengo una version anterior a la 11.07.
Pregurta: es posible leer el recurso de la DLL y ponerlo en momoria ? algo asi como loadlibrary() ?
Saludos
Gracias por tu respuesta.
Sin embargo tengo una version anterior a la 11.07.
Pregurta: es posible leer el recurso de la DLL y ponerlo en momoria ? algo asi como loadlibrary() ?
Saludos
Visite Chiapas, el paraiso de México.
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Otra forma de leer una DLL
Hola
si no me equivoco, LoadLibrary, no carga toda la DLL en memoria, solo la direccion donde se encuentra las funciones contenidas en esta
si no me equivoco, LoadLibrary, no carga toda la DLL en memoria, solo la direccion donde se encuentra las funciones contenidas en esta
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Re: Otra forma de leer una DLL
Hola,
Puedes hacer lo siguiente:
Compactas todas las DLL, EXE y OCX con PeCompact u UPX y luego con molebox haces un solo exe que empaquete tu en tu exe y todas las DLL que necesitas y los OCX.
PeCompact y Molebox son de uso comercial pero el costo es minimo.
Nosotros los usamos para nuestras aplicaciones basadas en MySQL con Tdolphin y Fastrepor, proporcionamos un link para descarga y actualizacion del EXE asi el exe esta disponible en cualquier parte en un navegador Web.
Slds,
Nicanor Maritinez
Puedes hacer lo siguiente:
Compactas todas las DLL, EXE y OCX con PeCompact u UPX y luego con molebox haces un solo exe que empaquete tu en tu exe y todas las DLL que necesitas y los OCX.
PeCompact y Molebox son de uso comercial pero el costo es minimo.
Nosotros los usamos para nuestras aplicaciones basadas en MySQL con Tdolphin y Fastrepor, proporcionamos un link para descarga y actualizacion del EXE asi el exe esta disponible en cualquier parte en un navegador Web.
Slds,
Nicanor Maritinez
Nicanor Martinez M.
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
Re: Otra forma de leer una DLL
Hola,
Me acabo de encontrar con una utilidad gratis se llama enigma virtual box, empaqueta un un solo exe las DLL, OCX.
http://enigmaprotector.com/en/aboutvb.html
Slds
Me acabo de encontrar con una utilidad gratis se llama enigma virtual box, empaqueta un un solo exe las DLL, OCX.
http://enigmaprotector.com/en/aboutvb.html
Slds
Nicanor Martinez M.
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Re: Otra forma de leer una DLL
Enigma funciona a 100...
Tengo un app.exe (comprimido con upx) + freeimage.dll + prev32.dll + libmysql.dll + config.cfg todo esto se convirtio en un solo EXE... (appnew.exe)
y funciona perfectamente...
http://enigmaprotector.com/en/aboutvb.html
Tengo un app.exe (comprimido con upx) + freeimage.dll + prev32.dll + libmysql.dll + config.cfg todo esto se convirtio en un solo EXE... (appnew.exe)
y funciona perfectamente...
http://enigmaprotector.com/en/aboutvb.html