Bonjour,
J'espère que la question est assez claire dans le titre (sinon, je vous prie de m'en excuser). Je me suis fait une classe Affiche85x11 qui hérite de la classe PrintDocument, afin d'ajouter à mon application un modèle d'affiche à imprimer (tous les objets graphiques, dont une image JPEG, sont minutieusement placés et j'obtiens par Win32 les marges physiques de l'imprimante pour calculer le bon point d'origine de tout mon modèle d'affiche..
Le code pour lancer l'impression de l'affiche:
Je ne suis pas sûre d'avoir placé le bon code à la bonne place, car je ne vois aucun changement dans l'utilisation de la mémoire par mon application. Possible que je ne comprenne pas clairement comment fonctionne la classe PrintDocument (dont dérive la mienne), est-ce que la fonction Dispose et/ou Finalize est appelée sitôt l'impression terminée (rendant mon Finally inutile)? Ou encore faut-il que je force un Dispose/Finalize, et autrement que ce que j'ai écrit ci-haut?
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 Dim prnDialog85x11 As New PrintDialog Dim affiche As New Affiche85x11 prnDialog85x11.Document = affiche prnDialog85x11.AllowSomePages = True Try If prnDialog85x11.ShowDialog() = Windows.Forms.DialogResult.OK Then affiche.Print() End If Catch ex As Exception MessageBox.Show(ex.Message) Finally ' Peu importe ce qui arrive, il faut «caller» le destructeur If Not affiche Is Nothing Then affiche.Dispose() End If End Try
Merci de bien vouloir éclairer ma lanterne.
Partager