Sélection d'imprimante impossible VFP9-Sp2

Résolu
buldomas Messages postés 4 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 4 avril 2011 - 1 avril 2011 à 16:56
buldomas Messages postés 4 Date d'inscription lundi 12 janvier 2009 Statut Membre 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.

7 réponses

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
1 avril 2011 à 19:30
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.
3
cs_Limack Messages postés 89 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 23 décembre 2011
1 avril 2011 à 20:00
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...
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
1 avril 2011 à 20:44
Bonjour,

ton Windows 7, il est 32 ou 64 bits?
0
cs_Limack Messages postés 89 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 23 décembre 2011
1 avril 2011 à 21:03
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Limack Messages postés 89 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 23 décembre 2011
2 avril 2011 à 01:14
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.
0
cs_Limack Messages postés 89 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 23 décembre 2011
2 avril 2011 à 04:57
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.
0
buldomas Messages postés 4 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 4 avril 2011
4 avril 2011 à 08:39
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.
0
Rejoignez-nous