Delai de fermeture important - Common Dialog ShowPrinter

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #15372591
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"
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
|
|
Pascal LASSERRE
Le #15372201
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
Jean-marc
Le #15372191
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_' ;
Publicité
Poster une réponse
Anonyme