Bonjour,
Je suis confronté à un problème qui m'ennuie légèrement. Lorsque je quitte une application après avoir affiché un fichier PDF dans un WebBrowser, j'ai l'erreur suivante : blablabla ... la mémoire ne peut être read
J'ai réussi à reproduire l'erreur sur un exemple très simple (cf. le code ci-dessous). Une form avec 2 boutons : le premier charge un PDF dans un WebBrowser, le second permet de quitter l'application.
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 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { using (Form2 f = new Form2()) { f.ShowDialog(); } } private void button2_Click(object sender, EventArgs e) { this.Close(); } }Il suffit de cliquer sur le 1er bouton, fermer la fenêtre du WebBrowser une fois le PDF chargé et pour finir cliquer sur le 2nd bouton dans la foulée. On tombe alors sur le message d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Shown(object sender, EventArgs e) { webBrowser1.Navigate(@"X:\Truc\Machin\MonSuperFichier.pdf"); } }
Sachant que :
- en lançant l'application depuis Visual Studio il n'y a pas cette erreur
- en fermant l'application directement après le ShowDialog, il n'y a pas l'erreur non plus
- testé avec Adobe Reader 9, il faudrait que je vois avec les autres versions
Si certains savent d'où cela peut venir, ça m'intéresse., sachant que la solution de rechange c'est de charger le PDF directement avec Adobe Reader.
Partager