Bonjour à tous,

J'essaye d'afficher un fichier PDF dans une Form Lazarus par un Tbutton. Le code est indiqué ci-dessous mais plante dès le premier Try et le message d'erreur suivant s'affiche avant celui que j'avais prévu dans le Except:

Nom : MsgEr1.jpg
Affichages : 180
Taille : 36,4 Ko


En effet, faisant pas à pas, ça plante dès l'instruction LoadApp := CreateOleObject('C:\Program Files\Adobe\Acrobat DC\Acrobat.exe'); m'indiquant que ma chaîne de classe est incorreste. Est-ce la chaîne du chemin de l'emplacement de Acrobat qui pose problème. Le chemin étant correct!

J'utilise l'unité Ole2 et ComObj dans le Uses.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
procedure TFormCreatEtoiles.Button1Click(Sender: TObject);
var VarPDF,LoadApp : OLEvariant;
begin
  // Ouvrir PDF
  Try
    LoadApp := CreateOleObject('C:\Program Files\Adobe\Acrobat DC\Acrobat.exe');
  Except
    On E : exception do
    Begin
      ShowMessage('Impossible de démarrer Acrobat'+CR+'Erreur : '+e.Message);
      Exit;
    end;
  End;
 
  Try
    VarPDF.Initialize;
    VarPDF.Open(RepRes + 'C:\Notice_Création_ Catalogue_étoiles.pdf');
  Except
    On E : exception do
    Begin
      ShowMessage('Impossible ouvrir document'+CR+'Erreur : '+e.Message);
      Exit;
    end;
  end;
 
  Try
    VarPDF.application.Visible := True;
  Except
    On E : exception do
    Begin
      ShowMessage('Impossible afficher le fichier PDF'+CR+'Erreur : '+e.Message);
      Exit;
    End;
  end;
 
end;
Merci pour vos éclaircissements!