|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : mars 2005 Messages : 26 ![]() |
Bonjour,
Je cherche à faire une selection d'une des imprimantes avant état : RvProjectDDEPRIX.Open; RvProjectDDEPRIX.SelectReport('DemandedePrix',False); RvProjectDDEPrix.Engine := RvSystemPrix; RvSystemPRIX.DefaultDest:=rdPrinter; >>> RvSystemPRIX.BaseReport.SelectPrinter(imprimante); RvProjectDDEPRIX.Execute; RvSystemPRIX.SystemSetups := RvSystemPRIX.SystemSetups - [ssAllowSetup]; RvProjectDDEPRIX.Close; J'obtient une EAccsessViolation sur la ligne selectprinter En utilisant un RvNDRWriter et RvRenderPrinter , je ne suis pas mieux loti ( EFOpenError en mode smMemory ?? Y a t'il un moyen de sélectionner une imprimante autrement qu'en passant par une boite de dialogue ? Merci . |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : mars 2005 Messages : 26 ![]() |
En fait il faut :
Pour selectionner l'imprimante : RpDev.PrinterSetupDialog; Imprimante:=RpDev.Device; En effet l'intitulé Windows de l'imprimante n'est pas tout à fait identique ( surtout en réseau ) et Rave n'accepte que sont propre intitulé. Puis : Procedure TCommande3.Imprimer; Begin RvProjectDDEPRIX.Open; RvProjectDDEPRIX.SelectReport(filexe+'DemandedePrix',False); RpDev.SelectPrinter(imprimante,False); RvProjectDDEPRIX.Engine:= RvSystemPrix; RvSystemPRIX.DoNativeOutput := True; RvSystemPRIX.DefaultDest:=rdPrinter; RvSystemPRIX.SystemSetups := RvSystemPRIX.SystemSetups - [ssAllowSetup]; RvProjectDDEPRIX.Execute; RvProjectDDEPRIX.Close; End; avec RpDevice en uses Ca aidera tous ceux qui galère comme moi, avec Rave j'espère. |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Jean-Marc Inscription : octobre 2003 Messages : 136 ![]() |
Bonjour,
Je suis en train de lire ta discussion, à propos de la sélection d'une imprimante, car je veux faire la même chose.... Mais j'ai un problème tout bête : ce que tu appelles rpDev, c'est quoi comme composant ? J'ai tout d'abord pensé à un TrvSystem, puis à un TrvRenderPrinter, mais les deux composants ne connaissent pas la méthode PrinterSetupDialog. Merci de ton aide |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : mars 2005 Messages : 26 ![]() |
Bonsoir,
Si tu déclare RpDevice dans le use de ta fiche tu aura accés au rpDev et son device que tu sauvegardes. Tu pourra ensuite aller les rechercher à ta guise par selectprinter , le false après je me souviens plus ( je crois que c'est pour une correspondance exacte ou approximative ) |
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Jean-Marc Inscription : octobre 2003 Messages : 136 ![]() |
Bonjour,
Entre temps, j'ai trouvé une autre solution : Code :
Imprimante est un string, contenant le nom de mon imprimante. Pour pouvoir compiler, j'ai ajouté dans les uses de mon unité, rvProj J'appelle l'instruction Etat.Save, car sinon, l'imprimante de mon choix n'est pas sélectionnée à la première impression, mais à partir de la seconde (j'avais une édition dans une boucle : impression de n exemplaires presque identiques de la même page) . |
||
|
|
00
|
|
|
#6 |
|
Débutant
Inscription : septembre 2003 Messages : 42 ![]() |
J'ai lu attentivement cette discussion. RpDev.SelectPrinter(imprimante,False); fonctionne parfaitement pour sélectionner une imprimante.
En revanche, lorsqu'on veut resélectionner l'imprimante par défaut de windows sans connaître son nom, les ennuis commencent... Auriez-vous une solution ? J'ai essayé de mettre le nom de l'imprimante à vide, la syntaxe passe mais ça n'a aucun effet, le programme sontinue d'imprimer sur l'imprimante sélectionnée auparavant... D'avance merci. |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : mars 2005 Messages : 26 ![]() |
Le message date un peu et l'appli est terminée, mais pour ce que je me souvienne, il faut avant tout déclarer RpDevice dans le use. Alors qq ressources te seront accessibles.
Excuse-moi, mais je suis en stage, et les sources sont à la boutique. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com