Sélection d'imprimante impossible VFP9-Sp2 [Résolu]

Messages postés
4
Date d'inscription
lundi 12 janvier 2009
Dernière intervention
4 avril 2011
- - Dernière réponse : buldomas
Messages postés
4
Date d'inscription
lundi 12 janvier 2009
Dernière intervention
4 avril 2011
- 4 avril 2011 à 08:39
Bonjour à tous,

Voici un problème que je rencontre depuis un changement de Pc.
Je suis sur un Windows 7 Pro x64 et je tourne sous vfp9-sp2. Depuis ce changement, il m'est impossible de sélectionner l'imprimante lors de la création d'un repport. Je peux seulement changer le format de papier.
Sous XP-SP3 et meme version de Fox, ça marche impec.

Avez-vous une idée?

Merci d'avance pour vos réponses.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Dernière intervention
7 mai 2013
3
Merci
bonjour,

le bug est (hélas) bien connu.
Mais... as-tu téléchargé et installé les Outils de VFP9 dans leur dernière traduction française? tu trouveras ça sur vfpX. il te faut télécharger le zip des Outils VFP9 SP2 fra

Nous avons corrigé ce bug en même temps que la traduction (merci Francis) et en principe, après avoir installé le contenu du zip, tu devrais retrouver ta sélection d'imprimante.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de michelatoutfox
Messages postés
89
Date d'inscription
jeudi 8 décembre 2005
Dernière intervention
23 décembre 2011
0
Merci
Bonjour chers développeurs,

Depuis 3 jours, j'ai un bug qui ressemble à celui évoqué ci-dessus seulement que le code de changement d'imprimante renvoie l'erreur suivante : "Impossible de charger la DLL 32bits de winspool.drv".
Ce code que j'utilise pour changer d'imprimante avant l'impression d'un report a été téléchargé sur http://www.atoutfox.org/articles.asp?ACTION= FCONSULTER&ID=0000000470
Je voudrais savoir si en téléchargeant la mise à jour évoquée par Michel, cela pourra résoudre le probleme?
J'utilise Windows 7 - VFP9 SP1 et c'est francisé.
Merci de vos reponses.

je colle ici une copie du code :
LOCAL lcOldPrinter,lcNewPrinter 
DECLARE INTEGER SetDefaultPrinter IN winspool.drv;
    STRING pszPrinter
lcOldPrinter   = SET("Printer",2) && Imprimante Windows par défaut
lcNewPrinter  GETPRINTER() && Nouvelle imprimante
SetDefaultPrinter(lcNewPrinter)  && On force le changement
 REPORT FORM .....
 =SetDefaultPrinter(lcOldPrinter)  && On revienr à l'ancienne imprimante


Cordialement Chif...
Commenter la réponse de cs_Limack
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Dernière intervention
7 mai 2013
0
Merci
Bonjour,

ton Windows 7, il est 32 ou 64 bits?
Commenter la réponse de michelatoutfox
Messages postés
89
Date d'inscription
jeudi 8 décembre 2005
Dernière intervention
23 décembre 2011
0
Merci
Bonjour Michel,
Je lis x86. Je pense que c'est 32 bits, a moins que je me trompe, ou bien il y a une façon classique de le voir dans les propriétés de windows?
Merci Michel.
Commenter la réponse de cs_Limack
Messages postés
89
Date d'inscription
jeudi 8 décembre 2005
Dernière intervention
23 décembre 2011
0
Merci
Salut Michel,
Excuse moi pour la réponse, j'ai plutôt fait une erreur car je n'étais pas devant mon vrai ordinateur. Mon windows 7 est 64bits, c'est peut être ça l'erreur, puisqu'il cherche à charger le driver 32 bits.
Maintenant, comment recoder ce code pourqu'il charge le 64bits?
Considérant que le client utilise windows XP et que le winspool.drv est 32bits, pourra t-il exécuter le code si je réussissais à le compiler en 64bits?
Merci.
Commenter la réponse de cs_Limack
Messages postés
89
Date d'inscription
jeudi 8 décembre 2005
Dernière intervention
23 décembre 2011
0
Merci
Salut Michel,
J'ai fait un peu de progrès dans les recherches; si ça peut intéresser quelqu'un, voilà le bout de code que j'ai téléchargé à l'adresse fournie ci-dessus qui m'a permis de contourner ce problème de DLL 32bits:
	*Avec Windows Scripting.
LOCAL lcOldPrinter,lcNewPrinter 
lcOldPrinter  = SET("Printer",2) && Imprimante Windows par défaut
SET PRINTER TO NAME (lcOldPrinter)	&& J'ai complété cette ligne pour positionner sur l'imprimante par défaut
lcNewPrinter  = GETPRINTER() && Nouvelle imprimante
ws = CREATEOBJECT("WScript.Network")
ws.SetDefaultPrinter(lcNewPrinter)  && On force le changement d'imprimante
ws.SetDefaultPrinter(lcOldPrinter)  && On revienr à l'ancienne imprimante


Donc ce bout de code me permet de changer d'imprimante. Merci.
Commenter la réponse de cs_Limack
Messages postés
4
Date d'inscription
lundi 12 janvier 2009
Dernière intervention
4 avril 2011
0
Merci
Bonjour,

Encore une fois merci Michel pour ta réponse. je ne regarde pas suffisement dans les forums et sur les sites de Foxeurs.

Salutations et félicitations à tous les développeurs qui font évoluer ce produit.
Commenter la réponse de buldomas

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.