Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-09-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
problemas al abrir el segundo pdf

Hola amigos, estoy ocupando el componene active x "Acropdf", tengo instalado el acrobat profesional 6 y el delphi 7 y al abrir un documento en pdf lo realiza bien pero cuando trato un segundo no va bien ....

Código Delphi [-]
procedure Tfprincipal.bt_capitulosClick(Sender: TObject);
begin
capit_a := 'C:\Gestion\manual_pdf\' + cbb_capitulos.text ;
acroPdf1.src:=capit_a;
end;

con ese codigo abro el archivo en pdf..... ahora
para cerrar ese archivo ocupo

Código Delphi [-]
procedure Tfprincipal.dxButton1Click(Sender: TObject);
begin
acropdf1.Free;
end;

tambien les cuento que la sentencia acroPdf1.setShowToolbar(false); no me funciona, de echo el programa se me cae cuyando llamo esa linea de codigo.

Espero que alguien sepa como resolver este problemilla.... la idea es que existe una lista de archivos en pdf que se cargan en un combobox y el usuario eligue 1 (luego puede eleguir otro), al realizar click en un boton el archivo se debe abrir, como mencione antes , esto sirve para el primer archivo pero si el usuario quiere leer uin segundo archivo el programa se cae.

Agradeceria si alguien me ayuda...

Atentamente
Roberto Hernandez.
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #2  
Antiguo 06-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si AcroPdf1 es una componente que insertas en el formulario, no puedes destruirla. No al menos si planeas utilizarla otra vez.

// Saludos
Responder Con Cita
  #3  
Antiguo 06-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo que dice Román (que se me adelantó) es lo que iba a decir yo: que tiene que haber algún método "CloseDocument", o "Close", en el componente, y, cuando no, tal vez no sea necesario sino abrir otro documento para "cargarse" el anterior... ahora, si no pudiera ser de otra forma y liberas el componente, entonces tendrás que crearlo de nuevo antes de cargar un nuevo documento, puesto que si no aparecerá el conocido "Access Violation", que, aunque no lo dices, tal vez sea el error conque topaste ahora. ¿No?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 06-09-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Entonces cual seria el camino a seguir..... no ocupar el acropdf1.free para no destruirlo.... entonces si ya tengo un pdf cargado como cargo otro distinto?..... gracias por las respuestas espero puedan ayudarme....
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #5  
Antiguo 06-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por yo mismo conmigo mismo
(...) tiene que haber algún método "CloseDocument", o "Close", en el componente, y, cuando no, tal vez no sea necesario sino abrir otro documento para "cargarse" el anterior... ahora, si no pudiera ser de otra forma y liberas el componente, entonces tendrás que crearlo de nuevo antes de cargar un nuevo documento, puesto que si no aparecerá el conocido "Access Violation", que, aunque no lo dices, tal vez sea el error conque topaste ahora.
¿Ya probaste algo de lo que te comentaba ahí?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 06-09-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
no existe close, closedocument ni nada parecido..... tal vez podria ocupar el free y destruir el componente y crearlo de nuevo..... como lo crearia mediante codigo ?

acropdf1.create.algo, esta es la parte que no tengo idea....

Gracias...
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #7  
Antiguo 06-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo probaría antes a cargar un documento luego de otro: se me hace raro que tengas que destruir el componente para cargar un nuevo documento, pero, en fin, supongo que crear el objeto tampoco supondrá ningún dilema...

Suponiendo que ocupas una variable global "acropdf1" podrías crear el objeto más o menos así:

Código Delphi [-]
acropdf1 := TAcrobat.Create;

O, si es que necesitara algún parámetro el constructor... pues fijarte en cuál o cuáles... creo que si fuera así probablemente necesitaría un "padre", lo que podría resultar en algo así:

Código Delphi [-]
acropdf1 := TAcrobat.Create(Self);

Donde "Self" se referiría al formulario en donde estás creando el objeto de marras. Fíjate también que utilizo el tipo "TAcrobat", pero, es que no recuerdo ahora mismo el tipo de ese objeto: lo averiguarás en la declaración de la variable "acropdf1", porque ahí tiene que indicarse un tipo para esa variable...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 06-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo acabo de hacer la prueba y puedo cargar un documento tras otro sin ningún problema.

// Saludos
Responder Con Cita
  #9  
Antiguo 06-09-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
oye roman .... pero lo has echo destruyendo y creando el componente multiples veces?
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #10  
Antiguo 06-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues no, pero ese es el punto, ¿para qué quieres destruir el componente? No necesitas "cerrar" el archivo anterior, LoadFile carga uno nuevo independientemente de si ya hay otro cargado.

// Saludos
Responder Con Cita
  #11  
Antiguo 06-09-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
voy a cachuriar y les cuento.... gracias.....
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #12  
Antiguo 07-09-2006
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
con el acropdf1.loadfile me ha resultado..... gracias......
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #13  
Antiguo 13-06-2008
lacovera lacovera is offline
Miembro
 
Registrado: dic 2006
Posts: 87
Poder: 18
lacovera Va por buen camino
Hola a todos, estoy intentando hacer lo mismo desde delphi2006 y no hace nada de nada! alguien ha podido?

var
pdf:tacropdf;
begin
pdf:=tacropdf.Create(self);
pdf.LoadFile('c:\hola.pdf');
pdf.Print;


Gracias!

Ah, el archivo hola.pdf existe, jejeje
Responder Con Cita
  #14  
Antiguo 08-02-2017
PEIIB PEIIB is offline
Miembro
 
Registrado: mar 2016
Posts: 21
Poder: 0
PEIIB Va por buen camino
Bueno, este hilo ya es muy antiguo, pero hoy lo he estado siguiendo porque yo tenía el mismo problema que planteó ilichhernandez y no se llego -entiendo- a una respuesta concluyente.

Creo que lo que pasaba realmente es que el segundo archivo no existía, o el path-name era incorrecto.
En ese caso, TacroPDF, no carga nada ni da ningún mensaje de error, de modo que aparece el primer archivo que todavía está cargado.

Ojala sirva para ayudar un poquito.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas a la hora de abrir un ClientDataset jmlifi Conexión con bases de datos 4 01-06-2006 12:28:20
Sumar 1 Segundo A 'now' marceloalegre Firebird e Interbase 4 05-05-2006 18:56:58
Que se me active el segundo timer Nbull Varios 7 21-02-2005 17:17:02
Problemas al abrir una sesion dentro de un frame manitoba PHP 13 06-09-2004 11:02:24
Problemas al Abrir un Form Jvilomar OOP 1 09-07-2004 18:43:04


La franja horaria es GMT +2. Ahora son las 09:26:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi