Ver Mensaje Individual
  #2  
Antiguo 19-11-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
osmeg,

Cita:
Empezado por osmeg
...Estoy empezando a programar en Delphi y uno de los primeros programas que me interesa realizar consiste en abrir un pdf...


¡Bienvenido al Club Delphi!

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Load PDF Files
procedure TForm1.Button1Click(Sender: TObject);
var
   openDialog : TOpenDialog;
begin
   openDialog := TOpenDialog.Create(self);
   openDialog.InitialDir := GetCurrentDir;
   openDialog.Options := [ofFileMustExist];
   openDialog.Filter := 'PDF files|*.pdf';
   openDialog.FilterIndex := 1;
   if openDialog.Execute then
   begin
      WebBrowser1.Silent := True;
      WebBrowser1.Navigate('file://' + openDialog.FileName + '#toolbar=0&navpanes=0&scrollbar=1');
   end;
end;

// UnLoad PDF Files
procedure TForm1.Button2Click(Sender: TObject);
begin
   WebBrowser1.Stop;
end;

end.
El código anterior en Delphi XE6 bajo Windows 7 Professional x32, permite visualizar un documento PDF por medio del componente TWebBrowser, como se muestra en la siguiente imagen:



Te comento:

1- El código anterior funciona según lo esperado en Delphi 7, Delphi 2010 y Delphi XE6, asumo que debe funcionar en Delphi XE2.

2- Te sugiero probar el código propuesto, para ver si el error descrito en el Msg #1 persiste.

3- En caso de que haya algún problema con la instalación, puedes reinstalar Delphi XE2 por medio de la opción Repair.

Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita