Bonjour à tous,
J'essaie depuis quelques jours de déboguer une application.
Cette application est une page en HTML qui fait appel a des fonctions JavaScript et VBScript. Cette page HTML est automatiquement affiché dans IE7 au démarrage de la machine (on ne doit pouvoir que utiliser cette page HTML et rien d'autre).
Lorsqu'à la fin de ma page HTML je clique sur le bouton imprimer qui fait appel à la fonction JavaScript imprimer() parfois tout se déroule très bien, mais parfois une erreur 70: permission denied se déclenche.
Cette erreur se produit de temps en temps de façon aléatoire, les conditions sont toujours différentes. Ce qui est étonnant, c'est que nous sommes loger en administrateur sur la machine et qu'on a pratiquement tous les droits, sauf ceux qu'on a retiré (dans les stratégies de groupe) pour "brider" la machine afin de ne pouvoir utiliser que l'application et imprimer le résultat, mais rien faire d'autre sur ce poste.
Voici la fonction imprimer en JavaScript:
Tout a la fin de mon code HTML, j'utilise du VBScript afin d'imprimer directement le résultat lorsque j'appuie sur le bouton imprimer de ma page HTML, sans passer par la prévisualisation ni le choix de l'imprimante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function imprimer() { //mon code window.print() ; }
Voici le code VBScript utilisé:
Ma question est pourquoi cette erreur 70:permission denied se produit? Et pourquoi se produit-elle que quelques fois seulement et pas tout le temps?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <script type="text/vbscript" language="VBScript"> // <![CDATA[ sub window_onunload on error resume next set WB = nothing on error goto 0 end sub sub print OLECMDID_PRINT = 6 OLECMDEXECOPT_DONTPROMPTUSER = 2 OLECMDEXECOPT_PROMPTUSER = 1 on error resume next if DA then ' call WB.ExecWB(7, OLECMDEXECOPT_DONTPROMPTUSER,1) call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1) else call WB.IOleCommandTarget.Exec(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,"","","") end if if err.number <> 0 then if DA then alert "Erreur :" & err.number & " : " & err.description else handle_error end if end if on error goto 0 end sub if DA then wbvers="8856F961-340A-11D0-A96B-00C04FD705A2" else wbvers="EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B" end if document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""CLSID:" document.write wbvers & """> </OBJECT>" // ]]> </script>
J'ai déjà essayé de regarder dans les outils d'administration "l'observateur d'événements" au niveau de la sécurité, du système, de l'application et d'internet explorer, rien de particulier ne se produit lorsque ce bug se produit.
J'ai également essayé d'accélérer l'apparition du bug en mettant la fonction imprimer() dans une boucle, mais malgré le fait d'imprimer des centaines de fois (en ayant enlever le papier de l'imprimante), rien ne se produit, même en mettant une pause lors de la boucle.
J'ai déjà regardé au niveau de l'imprimante, nous avons tous les droits pour imprimer à n'importe quel moment.
Merci d'avance pour votre aide.
Partager