Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-02-2014
camino camino is offline
Miembro
 
Registrado: feb 2007
Posts: 48
Poder: 0
camino Va por buen camino
AcroPDF en Windows 7 64 bits

En una aplicacion he tenido que guardar los archivos .PDF en la base de datos. Para mostrarlos uso el activex AcroPDF. Mientras trabaje en 32 bits no hubo problemas. Migre a windows 7 64 bits y no tuve problemas con Delphi y varios addons. Lamentablemente no me funciona el acroPDF. Consulte en los foros y en algunos señalan que AcroPDF solo funciona en 32 bits.
Si hay alguna solucion me gustaria saberla.

Uso Delphi 7 con windows 7 64 bits

Gracias.
Responder Con Cita
  #2  
Antiguo 02-02-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado camino:

Yo utilizo AcroPDF en Delphi2007 corriendo en Windows 7 Profesional de 64 bits y no me da ningún problema.
Recuerda que para que funcione debes tener instalado en tu PC el Adobe Reader.
La versión de AcroPDF.dll que yo utilizo es la 11.0.6.70. La encuentras en Archivos de programa(x86)/Common Files/Adobe/Acrobat/ActiveX.
Si lo tienes instalado quizás actualizando tu versión de Acrobat y el componente ActiveX puedas resolver el problema

Salu2
Responder Con Cita
  #3  
Antiguo 02-02-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Me pasa exactamente lo mismo, funciona en 32 pero no en 64, yo lo he resuelto creando de nuevo el objeto, es decir, en vez de coger y pegar el componente, lo creo en tiempo real y funciona para 64Bit sin ningún problema, que es un poco mas de trabajo, bueno, pero al final es que funcione.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #4  
Antiguo 03-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Al igual que a radenf, el componente me funciona sin problemas con Delphi 7 en Windows 7, 8 y 8.1 de 64 bits. También tengo instalada la misma versión de AcroPDF.dll.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 03-02-2014
camino camino is offline
Miembro
 
Registrado: feb 2007
Posts: 48
Poder: 0
camino Va por buen camino
AcroPDF en windows 7 64 bits

Al igual que radenf actualize mi Acrobat reader y el AcroPDF.dll que use es el 11.0.6.70
Lamentablemente no me resulta. Al ejecutarlo solo me muestra el componente vacio.
Le pido a olbeup que fuera tan gentil en indicarme como creo el componente en tiempo real para ver si asi resulta.

Gracias
Responder Con Cita
  #6  
Antiguo 03-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola camino.

Un ejemplo para crear una instancia en tiempo de ejecución:
Código Delphi [-]
...
implementation

uses AcroPDFLib_TLB;

var
  AcroPDF: TAcroPDF;

procedure TForm1.Button1Click(Sender: TObject);
begin
  AcroPDF:= TAcroPDF.Create(Self);
  with ACroPDF do
  begin
    Parent:= Panel1;
    Align:= alClient;
    LoadFile('Archivo.pdf');
    SetFocus;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 04-02-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola camino,

El ejemplo de ecfisa, es suficiente claro, no lo hubiera explicado mejor.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #8  
Antiguo 04-02-2014
camino camino is offline
Miembro
 
Registrado: feb 2007
Posts: 48
Poder: 0
camino Va por buen camino
AcroPDF en windows 7 64 bits

Les estoy muy agradecido por sus soluciones, pero no se que esta mal, pero no puedo utilizar AcroPDF.
Delphi 7 esta instalado en c:\Archivos de Programa (x86)\Borland\Delphi7
AcroPDF.dll esta instalado en c:\Archivos de Programa (x86)\Common Files\Adobe\Acrobat\ActiveX
AcroPDF.dll version 11.0.06.70
Acrobat Reader XI

Creo que esta igual a como me lo han indicado.

Les pido ver que esta mal

Gracias
Responder Con Cita
  #9  
Antiguo 04-02-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado camino:

Todo eso está correcto.
Imagino que importaste el componente AcroPdf y que aparece en la pestaña ActiveX, para que lo puedas incorporar en tu form.
También que el AcroPDFLib_TLB se encuentra en el uses de tu Form.
Con esto bastaría que para llamar el archivo Pdf utilizaras el siguiente código:

Código Delphi [-]
begin
OpenDialog1.Filter:= 'Archivos PDF (*.pdf)|*.pdf';
if OpenDialog1.Execute then
if OpenDialog1.FileName= '' then
exit
else
begin
AcroPdf1.src:= OpenDialog1.FileName;
AcroPdf1.GoToFirstPage;
AcroPdf1.SetShowToolbar(True);
AcroPdf1.setShowScrollbars(True);
end;
end;

o bien el código que gentilmente ha colocado ecfisa
Ojalá puedas solucionar tu problema.

Salu2
Responder Con Cita
  #10  
Antiguo 05-02-2014
camino camino is offline
Miembro
 
Registrado: feb 2007
Posts: 48
Poder: 0
camino Va por buen camino
AcroPDF en windows 7 64 bits

Saludos.
He reinstalado Adobe Acrobat en la misma version de mi post anterior.Como no resulta les adjunto la Form que ejecuta el display del archivo PDF.
La variable global ArchivoPDF contiene el path y el nombre del archivo PDF que en una instancia anterior fue creado en c:\




Código Delphi [-]
unit Pdf;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, AcroPDFLib_TLB, ExtCtrls, StdCtrls;

type
  TPdfForm = class(TForm)
    AcroPDF1: TAcroPDF;
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  PdfForm: TPdfForm;

implementation



Uses UnitGlobal;



{$R *.dfm}


procedure TPdfForm.FormActivate(Sender: TObject);
begin
 AcroPdf1.LoadFile(ArchivoPdf);
 AcroPdf1.setShowToolbar(true);
end;

procedure TPdfForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 SysUtils.DeleteFile(ArchivoPDF);
 ArchivoPdf := '';
end;


end.


y este es el resultado de la rutina:



PDFForm.jpg


El tamaño no es el real ya que tuve que reducirlo por la limitacion de peso.

Como pueden ver lo he hecho tal como Uds. lo harian sin embargo, no funciona



Gracias
Responder Con Cita
  #11  
Antiguo 05-02-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado Camino:

Como puedo ver en tu imagen, estás cargando el componente AcroPdf pero no el archivo, por lo que creo que el problema esta en la generación de la variable ArchivoPDF.
Por qué no pruebas con una ruta a un archivo conocido utilizando el código que te envié, con un OpenDialog, que te permita seleccionar cualquier archivo Pdf desde tu disco duro.
Por si acaso AcroPdf1.src:= (ArchivoPdf); hace mejor la misma función que AcroPdf1.LoadFile(ArchivoPdf);
Te sugiero que además utilices el evento onShow en vez de OnActivate.

Salu2
Responder Con Cita
  #12  
Antiguo 05-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Estoy de acuerdo con radenf. Y basta con agregar unas pocas líneas para comprobar que es un error de tipeo en la constante (o variable) "ArchivoPdf" o que el archivo fué eliminado:
Código Delphi [-]
...
  if FileExists(ArchivoPdf) then
    AcroPDF1.LoadFile(ArchivoPdf)
  else
    raise Exception.Create('El archivo no existe o escribió mal el nombre o la ruta al mismo');
...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 15-05-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Hoy he podido comprobar que el componente ActiveX AcroPdf ha dejado de funcionar, enviando un mensaje de AccessViolation al abrir cualquier formulario que lo contenga.
La razón, cambios inducidos por la última actualización automática de Adobe Reader XI.
Al restaurar el sistema el componente ActiveX AcroPdf vuelve a funcionar como si nada y deja de hacerlo al actualizarse automáticamente el Adobe Reader.
¿Alguien tiene alguna información al respecto?
¿Es posible corregir este problema, ya que puede impedir el funcionamiento de programas que utilizen el componente?
De antemano agradezco cualquier información o ayuda.
Saludos
Responder Con Cita
  #14  
Antiguo 17-05-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sigue aquí: http://www.clubdelphi.com/foros/show...553#post476553
Responder Con Cita
  #15  
Antiguo 04-06-2014
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Hola, por alguna causa el componente AcroPdf es dependiente de la version de Adobe Reader con que lo creaste, es necesario que tengas la misma version con que lo compilaste en el equipo donde lo instalaras, tambien deshabilita las actualizaciones automaticas para que la version no cambie.

Saludos.
Responder Con Cita
  #16  
Antiguo 04-12-2014
achamorroi achamorroi is offline
Registrado
 
Registrado: feb 2008
Posts: 1
Poder: 0
achamorroi Va por buen camino
Código Delphi [-]
   Numero := DM_ADO_GD.ADO_b_guia_despacho.FieldByName('Numero_Guia').AsString;
   AcroPDF1.LoadFile('\\servidor\Servidor-GDespacho\'+Numero+'.pdf');
en el evento oncreate

Última edición por nlsgarcia fecha: 04-12-2014 a las 17:02:18. Razón: Sintaxis Delphi
Responder Con Cita
  #17  
Antiguo 04-12-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
achamorroi,

¡Bienvenido al Club Delphi!

Te sugiero revisar la Guía de estilo de los foros

¡Gracias por tu cooperación!

Saludos,

Nelson.
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
Jedi y Windows 8 64 bits mblascog Varios 3 08-07-2014 12:52:05
Delphi 7 en Windows 7 64 bits Jais Varios 2 19-08-2013 19:53:17
APIs de Windows 32 bits fer21unmsm Varios 3 16-01-2013 17:59:31
Delphi6 y Windows 7 64 bits tec Varios 24 22-10-2011 02:18:10
Aplicaciones de 32 bits en Windows de 64 bits Gabo Debates 9 25-09-2008 20:49:32


La franja horaria es GMT +2. Ahora son las 19:50:43.


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