ups otra vez yo con otro problemita con el PDF

Post Reply
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

ups otra vez yo con otro problemita con el PDF

Post by AIDA »

HOLA

OTRA VEZ DANDO LATA :oops:


Vi el ejemplo PDF.PRG y lo acople a mi programita todo funciona bien abre y presenta muy bien el archivito .PDF pero si quiero abrirlo por segunda vez, ya no responde tengo que cerrar el programa para que pueda abrirlo por segunda ocasión

Que tengo que hacer para que pueda abrir el archito.pdf cuanta veces quiera sin tener que cerrar el programita.


Este es el ejemplo a si lo use sin modificar nada

Saluditos :wink:

Code: Select all | Expand

// FiveWin ActiveX support demo - Using Adobe Acrobat Reader

#include "FiveWin.ch"

function Main()

   local oWnd, oBtn

   DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"
   
   @ 2, 2 BUTTON oBtn PROMPT "Show PDF" SIZE 80, 20 ACTION ShowPDF( oWnd, oBtn )

   ACTIVATE WINDOW oWnd

return nil

function ShowPDF( oWnd, oBtn )

   local oActiveX
   
   oActiveX = TActiveX():New( oWnd, "AcroPDF.PDF.1" ) // Use "AcroPDF.PDF.1" for Acrobat Reader 7

   oWnd:oClient = oActiveX // To fill the entire window surface

   oActiveX:Do( "LoadFile", "fwintro.pdf" )
   oActiveX:Do( "SetCurrentPage", 1 )
   
   oBtn:Hide()
   oWnd:ReSize()

return nil   
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
MGA
Posts: 1258
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Post by MGA »

Aida:


function ShowPDF( oWnd, oBtn )

local oActiveX

oActiveX = TActiveX():New( oWnd:oWndClient, "AcroPDF.PDF.1" ) // Use "AcroPDF.PDF.1" for Acrobat Reader 7

oWnd:oClient = oActiveX // To fill the entire window surface

oActiveX:Do( "LoadFile", "fwintro.pdf" )
oActiveX:Do( "SetCurrentPage", 1 )

oBtn:Hide()
oWnd:ReSize()

return nil


Aida, para abrir outro documento experimente finalizar o objeto exemplo:
oActiveX:end()
Veja se funciona !

:)
ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

HOLA

Post by AIDA »

Gracias SGS


Ya intente usando oActiveX:end() pero no funciona :cry:

Debe ser de otra manera, alguien del foro que sepa y que me pueda indicar que hacer porfis :?

Saluditos

Aida
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
Manuel Aranda
Posts: 605
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Post by Manuel Aranda »

Hola Aída:
Yo lo hago de la siguiente manera y me abre el fichero cuantas veces quiera en ventanas diferentes:

Code: Select all | Expand

..................

    REDEFINE BUTTONBMP oBj5[2]  ID 502 OF oDlg;
              ACTION (VerPDF(DOCU->Ubicado),oBj5[9]:SetFocus());
              BITMAP "VER" PROMPT "    Ver" TEXTRIGHT

.......................
*********************************
 STATIC FUNCTION VerPDF(cFichero)
*********************************
Local oDlg, oActiveX
//
DEFINE DIALOG oDlg RESOURCE "IMAGEN2" TITLE cFichero
oDlg:lHelpIcon:=.F.
REDEFINE ACTIVEX oActiveX ID 800 OF oDlg PROGID "AcroPDF.PDF.1"
ACTIVATE DIALOG oDlg  CENTERED ;
ON INIT (oActiveX:Do( "LoadFile", cFichero ),oActiveX:Do( "SetCurrentPage", 1 )  ) NOMODAL

RETURN NIL


Nota: el ID 800 es un objeto TBitmap dentro del diálogo IMAGEN2



De cualquier manera, por si se sirve de algo, prefiero abrir los archivos usando ShellExecute, que permite abrir cualquier archivo que tenga asociada una aplicación en windows (.pdf, .jpg,.xml,.doc,.....)

ShellExecute( ,"open", DOCU->Ubicado,,,1 )
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

HOLA

Post by AIDA »

Gracias Manuel

Pondre atencion a tu ejemplo y lo pondre en practica y te comento despues como me fue.

te agradesco mucho

Saludos

Aida :)
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

HOLA MUCHAS GRACIAS

Post by AIDA »

Gracias Manuel :D


Si funciono muy bien muchas gracias por tu ayuda :D

una preguntita mas, se puede hacer que el control del bitmap
donde sale el pdf se pueda maximizar :roll:

Gracias por todo :D

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
Manuel Aranda
Posts: 605
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Post by Manuel Aranda »

Hola de nuevo Aida:

Para poder maximizar tendrías que hacerlo en una ventana windows. Algo así como esto:


Code: Select all | Expand


************************
function VerPDF(cFichero)
************************
 local oWnd, oActiveX

 DEFINE WINDOW oWnd TITLE "Ver archivo PDF"
     oActiveX = TActiveX():New( oWnd, "AcroPDF.PDF.1" )
     oWnd:oClient = oActiveX
     oActiveX:Do( "LoadFile", cFichero )
     oActiveX:Do( "SetCurrentPage", 1 )
 ACTIVATE WINDOW oWnd

return nil

Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

HOLA

Post by AIDA »

Gracias

hare una pruebita y si no me quedo con el primer ejemplo que funciona muy bien :D


Gracias

Saluditos :wink:

Aida
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Post Reply