Bonjour à toutes et à tous,
Je travaille actuellement sur une application qui permet à l'utilisateur de choisir son imprimante par défaut. Ceci ne change pas l'imprimante par défaut de Windows, mais seulement celle en cours utilisée par l'application.
Pour enregistrer l'imprimante sélectionnée, j'enregistre le nom de celle-ci dans un fichier INI.
Voici comment je procède :
Mon problème se pose dès que je sélectionne mon imprimante réseau et que je fais OK. Dans ce cas une nouvelle entrée est rajoutée dans la liste des imprimantes Printer.Printers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (Printer.Printers.Count > 0) then begin if (PrinterSetupDialog.Execute()) then begin Config.PrinterName := Printer.Printers[Printer.PrinterIndex]; end; end;
Pour mieux comprendre voici le contenu de Printer.Printers avant l'affichage du Dialogue de configuration :
Et voici son contenu après l'appel à PrinterSetupDialog.Execute()Printers[0] = '\\venusia\PR40';
Printers[1] = 'CutePDF Writer';
Delphi m'indique alors que l'imprimante active est la 2, soit '\\venusia\pr40 sur pr40b' et c'est cette valeur que j'enregistre dans mon fichier INI.Printers[0] = '\\venusia\PR40';
Printers[1] = 'CutePDF Writer';
Printers[2] = '\\venusia\pr40 sur pr40b';
Au redémarrage de l'appli, j'essaye de retrouver cette imprimante avec le code suivant, mais bien sûr il ne la trouve pas
J'ai exactement le même problème avec le composant TPrintDialog...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Printer.PrinterIndex := Printer.Printers.IndexOf(Config.PrinterName);
Est - ce que quelqu'un a déjà eu ce problème ?
Merci;
HooK
Edit : J'ai oublier de préciser que je suis sous Delphi 7
Partager