FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problema con archivo de recursos
Hola, sé que tengo otro hilo también sobre recursos, pero son problemas distintos y por eso inicie este.
A ver, tengo este procedimiento que carga una web insertada dentro de un archivo .res:
Pero cuando se carga el formulario que tiene el webBrowser, no muestra ninguna pagina, exactamante el navegador web de la aplicacion dice que la pagina no se encuentra. El texto del archivo .rc es bien sencillo: Código:
web html app.html Gracias y saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#2
|
||||
|
||||
Hola he modificado un poco el código, ahora en el evento OnCreate del formulario tengo esto:
En el formulario principal del proyecto tengo {$R recursos.res} colocado después de implementation y el archivo .rc es este: Código:
ini rt_html discardable "inicio.html" ¿alguna sugerencia? Saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#3
|
||||
|
||||
#4
|
||||
|
||||
Hola dec, gracias por el aporte, ya había solucionado el error, al revisar todo el código, vi que tenía una linea en el onActivate del formulario que estaba en conflicto con el procedimiento onCreate, solo he tenido que borrar esa linea y ya tira.
Ahora intento hacer algo parecido pero con un archivo pdf. Tengo instalado en el ordenador el visor de pdf Foxireader, que al instalarse deja un activeX, pues bien he metido ese activeX en el delphi y todo va bien, el problema es que cuando pongo "foxireader.openfile(...) no sé como hacer la llamada al archivo de recursos que tiene el documento pdf. Estoy buscando por la red pero no encuentro nada. Saludos y otra vez gracias. P.D.:Por cierto, el problema en parte lo arreglé gracias a este ejemplo que encontre en la web y que he subido al ftp del foro. Ha sido la unica forma que me ha funcionado de las que he mirado.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. Última edición por danielmj fecha: 27-04-2014 a las 18:32:49. |
#5
|
||||
|
||||
Hola,
Hasta donde yo llego es el objeto "WebBrowser" el que acepta archivos HTML como recursos. Ahora bien, esto no quiere decir que acepte también otro tipo de archivos. Una posible solución que entiendo funcionaría pasa por usar el objeto "WebBrowser" para mostrar un archivo HTML que a su vez contenga (embebido) un archivo PDF. Busca en la red por cómo embeber un archivo PDF dentro de un documento HTML. Esto se hace de forma similar a cuando necesitas embeber un vídeo de Youtube, por ejemplo. |
#6
|
||||
|
||||
interesante Dec, voy a mirar a ver que encuentro. Gracias y saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#7
|
||||
|
||||
Hola, siguiendo con la busqueda de soluciones para meter un pdf en la aplicacion, me tope con esta herramienta http://www.swftools.org/ que convierte los pdf a .swf creando dos archivos el .html y el propio .swf, estos dos archivos estan dentro del archivo de recursos, pero cuando ejecuto la aplicacion, si bien se carga el plugin de flash, no se muestra el contenido que seria en este caso, el pdf convertido, sino que se queda en blanco. Es decir que el TWebborwser del formulario se queda en blanco sin mostrar información alguna.
Por otra parte, delphi detecta una serie de errores en el archivo html creado por la herramienta "swftools" y no sé si será por eso que no muestra nada. El código html sería este: Código:
<html> <body style="padding: 0px; margin: 0px"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" codebase="http://active.macromedia.com/flash5/cabs/swflash.cab#version=8,0,0,0"> <param name="MOVIE" value="guia.swf"> <param name="PLAY" value="true"> <param name="LOOP" value="true"> <param name="QUALITY" value="high"> <param name="FLASHVARS" value="zoomtype=3"> </object> <embed src="guia.swf" width="100%" height="100%" play="true" ALIGN="" loop="true" quality="high" type="application/x-shockwave-flash" flashvars="zoomtype=3" pluginspage="http://get.adobe.com/flashplayer/"> </embed> </object> </body> </html> ¿Alguna sugerencia? Gracias.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#8
|
||||
|
||||
Hola,
Yo probaría dos cosas. En primer lugar trataría de seguir usando "recursos" pero sin convertir el archivo PDF a SWF, sino tratando de embeberlo tal cual en el archivo HTML, de la siguiente manera: Código:
<object width="400" height="500" type="application/pdf" data="/my_pdf.pdf" id="pdf_content"> <p>Insert your error message here, if the PDF cannot be displayed.</p> </object> La segunda solución es un poco más compleja, pero, no imposible, y, si no funciona la primera, tal vez no te quede más remedio. Se trata de utilizar "Asynchronous Pluggable Protocols", para lo que encontrarás lo necesario ya hecho en Delphi, por ejemplo, como se muestra en este artículo. No recuerdo si en el artículo enlazado se usa cierto componente desarrollado hace años por un tal R.A. Hornstra, pero, este es el componente que yo uso en mi proyecto HTML Compiler. Claro que todo esto también dependería un poco de lo que quieres conseguir, y, me explico. Si sólo quieres mostrar el archivo PDF en un objeto "WebBrowser" pero te da igual distribuirlo junto a tu aplicación, entonces, probablemente, lo mejor sea que te olvides de los archivos de recursos y uses archivos locales sin más, es decir, archivos que se encuentran como tales al lado de tu aplicación y no como archivos de recursos. Seguramente el protocolo "file" es más permisivo que el protocolo "res". Si esto último no es posible, es decir, si tu intención es ocultar el archivo PDF, entonces deberías seguir intentando mediante recursos (aunque tal vez alguien podría acceder a dicho PDF y extraerlo) o bien tratar de usar el "Pluggable Protocol" de marras, que, si bien acaso no sea cien por cien seguro, desde luego es otra forma de hacerlo. Última edición por dec fecha: 28-04-2014 a las 12:31:00. |
#9
|
||||
|
||||
Hola dec, si te soy sincero, aún no sé que método usar, por una parte, quiero evitar que se copie y/o modifique el pdf, con lo que convertirlo a swf, me viene de perlas, en este caso y dado que no encuentro la forma de meterlo en un .res y que se muestre el archivo swf de marras, lo que hice fue crear un sitio web dedicado a este archivo, con lo que la propia aplicación muestra en el webbrowser la pagina web que si tiene embebido el archivo swf.
Por otra parte, no sé si merece la pena hacer lo anterior y dejarlo mejor como archivo local, aunque en este caso, el usuario deberá tener instalado algun visor pdf mientras que en el otro metodo, bastaria con tener el reproductor de flash que seguramente esté instalado en el 99% de los pc, claro que también está el tema de si hay o no conexion a internet, aunque esto ultimo se controla facilmente. Así que entre no querer que se copie/modifique el pdf y no saber si hacerlo local o desde internet, estoy liao. No veo que opción tiene mas pros y contras. Saludos y gracias por tu interés.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#10
|
||||
|
||||
Hola,
Sí; es algo que tendrás que sopesar. Quizá la solución más sencilla podría sea la mejor. Por ejemplo, podrías distribuir tu aplicación junto a los archivos HTML y PDF ocultos o cifrados de alguna forma. Después podrías descifrarlos y extraerlos temporalmente en algún directorio, el mismo directorio temporal de Windows, por ejemplo. De este modo te beneficiarías de que el "WebBrowser" cargaría archivos "locales" sin más. Y, aunque tus archivos estarían "disponibles", tal vez no le sea sencillo a un usuario "normal" el hacerse con ellos. En cualquier caso tienes que ver qué te conviene más. |
#11
|
||||
|
||||
Hola de nuevo Dec, de momento voy a probar con el swf, total mientras hago distintas pruebas espero llegar a una decisión.
Saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Extraer Archivo de los recursos | odiseeus | C++ Builder | 1 | 29-10-2013 14:41:53 |
ayuda con archivo de recursos | danielmj | Varios | 2 | 29-05-2012 21:50:18 |
PNG en archivo de recursos (.res) | jandro | Varios | 10 | 27-01-2010 20:00:45 |
Archivo de recursos | Esau | Varios | 3 | 04-11-2004 10:13:44 |
Crear un archivo de recursos | soul6301 | Varios | 1 | 19-08-2004 20:24:07 |
|