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


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2006
fidel fidel is offline
Miembro
NULL
 
Registrado: mar 2005
Posts: 381
Poder: 15
fidel Va por buen camino
Componente Pdf (PdfLib_TLB) a veces no funciona

Hola:

Buscando en el foro he instalado el componente Pdf (PdfLib_TLB) para ver archivos .pdf dendro del form. (En mi ordenador tengo la versión 6.0 de Adobe Reader.)

En una aplicación pongo este código para ver un .pdf
Código Delphi [-]
procedure TFReglamento.FormCreate(Sender: TObject);
var
  sFichero: string;
begin
  sFichero := ExtractFilePath(ExpandFileName(ParamStr(0))) + 'ReglamentoFEPV.pdf';
  Try
    PDFReglamento.LoadFile(sFichero);
  except
    on exception do ShowMessage('Se necesita tener instalado Adobe Reader');
  end;
end;

"PDFReglamento" es el nombre que he dado a mi TPdf

Lo pruebo en mi ordenador y otros dos que tienen Adobe Reader 6.0 y funciona bien, pero lo pruebo en otro ordenador que tiene instalado Adobe Reader 5.0 y no da ningún error pero solo aparece el form completamente vacío, el pdf brilla por su ausencia.

No he podido aún probarlo en algún ordenador sin Adobe Reader.

¿Alguna manera de corregir esto para que funciones con cualquier versión de Adobe Reader?

Gracias.

Un saludo.
Responder Con Cita
  #2  
Antiguo 06-06-2006
fidel fidel is offline
Miembro
NULL
 
Registrado: mar 2005
Posts: 381
Poder: 15
fidel Va por buen camino
Hola:

Como no veo la manera de hacerlo funcionar con todas las versiones de Adobe Reader, lo he modificado y en vez de ver el pdf en un form, simplemente abro el fichero con ShellExecute
Código Delphi [-]
procedure TFMenu.ReglamentoClick(Sender: TObject);
var
  sFichero: string;
begin
  sFichero := ExtractFilePath(ExpandFileName(ParamStr(0))) + 'ReglamentoFEPV.pdf';
  try
    ShellExecute(Handle, 'open', pchar(sFichero), nil, nil, SW_SHOW);
  except
    ShowMessage('Se necesita tener instalado Adobe Reader');
  end;
end;

Así funciona con cualquier version de Ac. Reader, pero lo pruebo en un ordenador que no tiene instalado Adobe Reader, y por supuesto no muestra nada, pero lo malo es que tampoco entra en el except y no me muestra el mensaje del ShowMessage.

¿Alguna idea para solucionar esto?

Gracias.

Un saludo.
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
Imprimir dos veces agora18 Impresión 8 22-12-2006 20:51:07
A veces MS da pena... marceloalegre Noticias 9 03-02-2006 21:58:53
A veces si, a veces no buitrago Firebird e Interbase 0 28-02-2004 03:05:13
4 veces casada José Luis Garcí Humor 0 19-06-2003 11:44:42
A veces no se guardan registros... emeceuy Conexión con bases de datos 3 04-06-2003 21:50:15


La franja horaria es GMT +2. Ahora son las 15:53:56.


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