Hola
Necesito obtener el contenido de un fichero XML almacenado como RCDATA en un fichero RC. Si el RC está en el propio ejecutable puedo acceder mediante la función FindResource() y LoadResource pero si el RC está en una DLL creada con Xailer ¿Como puedo obtenerlo?
Saludos
Toni Sales
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
¿Como obtener un RCDATA almacenado en una DLL?
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
¿Como obtener un RCDATA almacenado en una DLL?
TSALES escribió el mar, 10 abril 2012 14:04Hola
Necesito obtener el contenido de un fichero XML almacenado como RCDATA en un fichero RC. Si el RC está en el propio ejecutable puedo acceder mediante la función FindResource() y LoadResource pero si el RC está en una DLL creada con Xailer ¿Como puedo obtenerlo?
Saludos
Toni Sales
nDll := 1 // orden de carga de la DLL
hRes := FindResource( GetInstance( nDll ), "cResName", RT_RCDATA )
cXml := LoadResource( 0, hRes )
Saludos
Necesito obtener el contenido de un fichero XML almacenado como RCDATA en un fichero RC. Si el RC está en el propio ejecutable puedo acceder mediante la función FindResource() y LoadResource pero si el RC está en una DLL creada con Xailer ¿Como puedo obtenerlo?
Saludos
Toni Sales
nDll := 1 // orden de carga de la DLL
hRes := FindResource( GetInstance( nDll ), "cResName", RT_RCDATA )
cXml := LoadResource( 0, hRes )
Saludos
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
¿Como obtener un RCDATA almacenado en una DLL?
Ignacio
No consigo que funcione. Con lo que me indicas, el FindResource localiza el fichero pero el LoadResource no lee el contenido.
El codigo es el siguiente:
=====================
LOCAL hRes
LOCAL cXsl, h
LOCAL nHandle
LOCAL nDll := 1
nHandle := HB_LibLoad( "CodeInDll.dll" )
IF ( hRes := FindResource( GetInstance( nDll ), "LISTADOARTICULOSPORCLIENTE", RT_RCDATA ) ) != 0
cXsl := LoadResource( 0, hRes )
// Aquí el cXsl está vacio.
IF ( h := FCreate( "f:Prueba.xml" ) ) != -1
// Save the main part
FWrite( h, cXsl )
FClose( h )
ENDIF
ENDIF
HB_LibFree( nHandle )
=========================
El fichero correponde a un listado FastReport almacenado en el fichero RC e incluido en el RC del proyecto CodeInDll.dll:
LISTADOARTICULOSPORCLIENTE RCDATA MOVEABLE "D:ArticulosPorCliente.fr3"
No consigo que funcione. Con lo que me indicas, el FindResource localiza el fichero pero el LoadResource no lee el contenido.
El codigo es el siguiente:
=====================
LOCAL hRes
LOCAL cXsl, h
LOCAL nHandle
LOCAL nDll := 1
nHandle := HB_LibLoad( "CodeInDll.dll" )
IF ( hRes := FindResource( GetInstance( nDll ), "LISTADOARTICULOSPORCLIENTE", RT_RCDATA ) ) != 0
cXsl := LoadResource( 0, hRes )
// Aquí el cXsl está vacio.
IF ( h := FCreate( "f:Prueba.xml" ) ) != -1
// Save the main part
FWrite( h, cXsl )
FClose( h )
ENDIF
ENDIF
HB_LibFree( nHandle )
=========================
El fichero correponde a un listado FastReport almacenado en el fichero RC e incluido en el RC del proyecto CodeInDll.dll:
LISTADOARTICULOSPORCLIENTE RCDATA MOVEABLE "D:ArticulosPorCliente.fr3"
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
¿Como obtener un RCDATA almacenado en una DLL?
Prueba con:
hRes := FindResource( GetInstance( nDll ), "cResName", RT_RCDATA )
cXml := LoadResource( GetInstance( nDll ), hRes )
Saludos
hRes := FindResource( GetInstance( nDll ), "cResName", RT_RCDATA )
cXml := LoadResource( GetInstance( nDll ), hRes )
Saludos
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
¿Como obtener un RCDATA almacenado en una DLL?
Gracias Ignacio
Ahora funciona perfecto.
Toni Sales
Ahora funciona perfecto.
Toni Sales