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

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

7 réponses

Répondre au sujet
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 1 avril 2011 à 19:30
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de michelatoutfox
cs_Limack 89 Messages postés jeudi 8 décembre 2005Date d'inscription 23 décembre 2011 Dernière intervention - 1 avril 2011 à 20:00
0
Utile
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
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 1 avril 2011 à 20:44
0
Utile
Bonjour,

ton Windows 7, il est 32 ou 64 bits?
Commenter la réponse de michelatoutfox
cs_Limack 89 Messages postés jeudi 8 décembre 2005Date d'inscription 23 décembre 2011 Dernière intervention - 1 avril 2011 à 21:03
0
Utile
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
cs_Limack 89 Messages postés jeudi 8 décembre 2005Date d'inscription 23 décembre 2011 Dernière intervention - 2 avril 2011 à 01:14
0
Utile
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
cs_Limack 89 Messages postés jeudi 8 décembre 2005Date d'inscription 23 décembre 2011 Dernière intervention - 2 avril 2011 à 04:57
0
Utile
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
buldomas 4 Messages postés lundi 12 janvier 2009Date d'inscription 4 avril 2011 Dernière intervention - 4 avril 2011 à 08:39
0
Utile
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.