Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Delai de fermeture important - Common Dialog ShowPrinter

3 réponses
Avatar
Pascal LASSERRE
Bonjour à tous

J'ai besoin de changer l'imprimante par defaut dans mon application.
J'utilise la méthode ShowPrinter du CommonDialog (ver 6.0 SP6)
Le soucis est tout simple : quand la fenêtre de dialogue se ferme,
l'application ne répond plus pendant plusieurs secondes.
Le code est ultra sec, j'avoue ne pas tout comprendre.

Private Sub CB1_Click()
CD1.ShowPrinter
LBL5.Caption = Printer.DeviceName
End Sub

Une idée ? Même un bon DoEvents ne résoud rien.

Merci d'avance pour votre aide

3 réponses

Avatar
LE TROLL
Bonjour,

Je crois que l'application répond, mais elle
doit aller chercher ses plumes et les faire
ingurgiter à l'imprimante, ça ne s'affiche pas
visuellement.

Y a peut être d'autres méthodes, mais la plus
simple est d'informer:

MsgBox "Impression en cours, Veuillez patienter
", vbInformation

Où 4 secondes de Timer, et tu fais défiler une
feuille qui se balade, avec "Impression en cours,
veuillez patienter"...

Toutefois, si la personne est à côté de son
imprimante, l'imprimante indique, même chaude,
qu'elle reçoit des datas (voyant qui clignote,
souvent), et si l'imprimante est distante, le
temps qu'il y aille... de facto, je ne vois pas
trop le problème psychologique ?

Est-ce ça que tu demandes ?

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Pascal LASSERRE"
a écrit dans le
message de news:
47a9fa4b$0$847$
| Bonjour à tous
|
| J'ai besoin de changer l'imprimante par defaut
dans mon application.
| J'utilise la méthode ShowPrinter du CommonDialog
(ver 6.0 SP6)
| Le soucis est tout simple : quand la fenêtre de
dialogue se ferme,
| l'application ne répond plus pendant plusieurs
secondes.
| Le code est ultra sec, j'avoue ne pas tout
comprendre.
|
| Private Sub CB1_Click()
| CD1.ShowPrinter
| LBL5.Caption = Printer.DeviceName
| End Sub
|
| Une idée ? Même un bon DoEvents ne résoud rien.
|
| Merci d'avance pour votre aide
|
|
Avatar
Pascal LASSERRE
je vais devoir faire avec.

En fait il semblerait que le temps de latence se produit uniquement lorsque
je sélection une imprimante sur port USB.

Curieux, mais je vais mettre un zouli petit panneau ...

Merci
Avatar
Jean-marc
Pascal LASSERRE wrote:
je vais devoir faire avec.

En fait il semblerait que le temps de latence se produit uniquement
lorsque je sélection une imprimante sur port USB.

Curieux, mais je vais mettre un zouli petit panneau ...

Merci



Hello,

Tu as un article de la KB qui présente une méthode
alternative. Je l'ai déjà utilisé avec succès dans
plusieurs applis.
J'ai eu aussi dans certaines environnements un temps
de latence, du je pense au fait au temps de broadcast
du message SendMessage(-1, WM_WININICHANGE, NULL, NULL)

Bref voici l'article:

http://support.microsoft.com/kb/455593/fr

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;