Subject : Détection imprimante hors service
Bonjour,
Je suis toujours à la recherche de mon problème d'imprimante...
En gros pour résumer rapidement :
- Si l'imprimante devant effectuer une impression est hors service (pour x raison), il faut le détecter afin que les opérations suivantes ne s'executent.
Après maintes recherches en tournant autour du pot, je suis tombé sur une propriété de TPrinter qui peut être intéressante, il s'agit de Printing.
Un p'tit coup de F1 et :
Printing permet de déterminer si un travail d'impression est en cours.
Printing vaut true quand l'application a appelé la méthode BeginDoc mais qu'elle n'a pas encore appelé la méthode EndDoc
(ou la méthode Abort).
J'ai donc bêtement déduit et appliqué cette idée, en ajoutant une sous-procédure juste sous le Begin.Doc d'une procédure de test :
Et voici cette sous-procédure appelée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ... BeginDoc; TestSiPrinteuseOK(Sender); // sous le BeginDoc afin de savoir s'il était bien appelé ...
Mais... que l'imprimante soit en impression, ou bien si elle est débranchée, toujours le ShowMessage 'OK !'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.TestSiPrinteuseOK(Sender: TObject); begin if Printer.Printing then ShowMessage('OK !') else ShowMessage('Niet !'); end;
Merci d'avance de toute idée![]()
Partager