MICROSOFT WEB BROWSER

390 views
Skip to first unread message

adem adem

unread,
Feb 20, 2022, 10:10:29 PM2/20/22
to publice...@googlegroups.com
Hola a todos 
Desde ya os agradezco vuestra ayuda
En un formulario y mediante un botón mostró los pdfs a través de un olecontrol (microsoft web browser)
y mientras que el pdf está en la pantalla, tengo otro boton donde renombro el pdf mostrado, 
renam file1 to file 2
Esto da el error que se muestra en la siguiente imagen,
 Sé que esto no es correcto!, porque no se puede renombrar un archivo abierto. , Lo que quiero es desvincular el pdf del control o cerrarlo para que pueda renombrarlo, ¿alguien sabe como?
intente con:
thisform.olecontrol1.navigate(.F.)
y no funciona

Nueva imagen de mapa de bits (14).bmp
Gracias 

Zarlu

unread,
Feb 21, 2022, 9:36:48 AM2/21/22
to Comunidad de Visual Foxpro en Español
Buenos días 76xademx76 !

Thisform.olecontrol1.navigate("")

Quizá debas copiar el actual con otro nombre, remplazar el olecontrol con el nuevo archivo y entonces borrar el anterior.

Suerte
zarlu
Chetumal, Quintana Roo, México

adem adem

unread,
Feb 21, 2022, 9:55:42 AM2/21/22
to publice...@googlegroups.com
Agradezco mucho tu ayuda 
Probare y te comento 
Gracias

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/bb307132-e71e-42a8-aa77-e785c239021cn%40googlegroups.com.

Zarlu

unread,
Feb 22, 2022, 8:43:42 AM2/22/22
to Comunidad de Visual Foxpro en Español
Buenos días 76xademx76!

Lo correcto es:
Thisform.olecontrol1.Navigate("About:Blank")

zarlu
Chetumal, Quintana Roo, México

adem adem

unread,
Feb 22, 2022, 10:01:02 AM2/22/22
to publice...@googlegroups.com
BUENAS TARDES SR ÁNGEL
Bueno te comento:
En un formulario, y  después de una consulta desde una tabla genero el archivo  pdf.pdf con lo siguiente:
thisform.olecontrol1.navigate("about:blank")
REPORT FORM INFORME1.FRX TO FILE "C:\CARPETA\PDF.PDF" OBJECT TYPE 10
y haré un vista con:
thisform.olecontrol1.navigate( "C:\CARPETA\PDF.PDF")

luego mediante otro botón accedo a enviar el archivo generado .
En este botón le doy un nombre de serie
rename   "C:\CARPETA\PDF.PDF"   to   ALLTRIM( "C:\CARPETA\ Nombre -"+ALLTRIM(THISFORM.TEXT1.VALUE)+".PDF")
Después de enviar vuelvo a asignarle el mismo nombre interior:
rename ALLTRIM( "C:\CARPETA\ Nombre -"+ALLTRIM(THISFORM.TEXT1.VALUE)+".PDF") to alltrim( "C:\CARPETA\PDF.PDF")

mi problema es que cuando llega a donde está marcado con color rojo, salta el error.
la misma rutina  tengo en otro formulario pero sin la vista del olecontrol1, y funciona bien.
bien , ahora si pongo antes de la línea roja  esto:
REPORT FORM INFORME1.FRX TO FILE "C:\CARPETA\PDF.PDF" OBJECT TYPE 10
funciona normal esto quiere decir que estoy sobrescribiendo o generando el mismo archivo dos veces.
y lo de, thisform.olecontrol1.navigate("about:blank") o thisform.olecontrol1.navigate("") tampoco soluciona el problema.
Para desvincularlo intente colocar en la vista otro archivo de otra extensión..bmp.  .txt  .docx
y pasa lo mismo. la única forma de momento es generar el mismo archivo para luego nombrarlo... y esto... se ve un poco inapropiado 
espero tus sugerencias 
Gracias de nuevo por tu intres.
Un saludo

HernanCano

unread,
Feb 22, 2022, 10:09:41 AM2/22/22
to Comunidad de Visual Foxpro en Español
Por favor, colega:

Haz lo que te dijo Zarlu dwesde la primera vez:

ThisForm.OleControl1.Navigate("")

justo antes de "renombrar"......

adem adem

unread,
Feb 22, 2022, 10:42:22 AM2/22/22
to publice...@googlegroups.com
Gracia HernanCano
Lo he probado: 
Thisform.olecontrol1.navigate("")
Rename file to file 2
Sin exito
No se si existe la  propiedad o funcion "Stop" 
La he visto en la pagina de Microsoft pero para C#
Un saludo 


--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.

adem adem

unread,
Feb 22, 2022, 10:51:06 AM2/22/22
to publice...@googlegroups.com

Zarlu

unread,
Feb 22, 2022, 11:39:39 AM2/22/22
to Comunidad de Visual Foxpro en Español
Qué tal 76xademx76!

Dale tiempo a que se libere el último pdf mostrado...

*archivos
lcArchivoPDF=GETFILE()
lcNewArchivo=ADDBS(JUSTPATH(lcArchivoPDF))+"nuevo.pdf"
*primer archivo
Thisform.olecontrol1.Navigate(lcArchivoPDF)
WAIT "Archivo en visor: "+lcArchivoPDF window
*renombrado
Thisform.olecontrol1.Navigate("About:Blank")
DO WHILE !FILE((lcNewArchivo))
        Try
                RENAME (lcArchivoPDF) TO (lcNewArchivo)
        CATCH        
        ENDTRY
ENDDO
Thisform.olecontrol1.Navigate(lcNewArchivo)
WAIT "Archivo en visor: "+lcNewArchivo window
*restaurado
Thisform.olecontrol1.Navigate("About:Blank")
DO WHILE !FILE((lcArchivoPDF))
        Try
                RENAME (lcNewArchivo) TO (lcArchivoPDF)
        CATCH        
        ENDTRY
ENDDO
Thisform.olecontrol1.Navigate(lcArchivoPDF)
WAIT "Archivo en visor: "+lcArchivoPDF window

zarlu
Chetumal, Quintana Roo, México

Eduardo Armonti

unread,
Feb 22, 2022, 2:54:49 PM2/22/22
to publice...@googlegroups.com

Para la creación del PDF necesitas ponerle un retardador (5 segundo) cuando lo renombre porque no le da tiempo a cerrarse al PDF original

 

Enviado desde Correo para Windows

adem adem

unread,
Feb 22, 2022, 6:36:57 PM2/22/22
to publice...@googlegroups.com
 HOLA ZARLU  
ES ASOMBROSO..!! NO LOS QUE TRUCO HAY EN ESTAS LÍNEAS  QUE ME PASASTE; AUNQUE ME BASTA SOLO CON ESTO:
PORQUÉ RESTO LO TENÍA INCLUIDO MÁS ABAJO CON OTRAS CONDICIONES 

LOCAL NEWNAME 

NEWNAME = ALLTRIM( "C:\CARPETA\ Nombre -"+ALLTRIM(THISFORM.TEXT1.VALUE)+".PDF")
****************************************************

lcArchivoPDF="C:\CARPETA\PDF.PDF"
lcNewArchivo= NEWNAME
Thisform.olePDF.Navigate(lcArchivoPDF)
Thisform.olePDF.Navigate("About:Blank")
DO WHILE !FILE((lcNewArchivo))
        Try
                RENAME (lcArchivoPDF) TO (lcNewArchivo)
        CATCH        
        ENDTRY
ENDDO
main-.gif


adem adem

unread,
Feb 22, 2022, 6:39:46 PM2/22/22
to publice...@googlegroups.com
HOLA EDUARDO
AGRADEZCO TU INTERÉS,  CON LO QUE ME PASÓ ANGEL YA SE SOLUCIONO EL PROBLEMA 
GRACIAS OTRA VEZ
UN SALUDO

Reply all
Reply to author
Forward
0 new messages