jfuck
Messages postés59Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention31 mars 2009
-
9 janv. 2009 à 10:42
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
9 janv. 2009 à 19:10
Bonjour,
Voici ma situation et mon problème :
Pour imprimer un formulaire, je crée un fichier HTML (concaténation de chaines et de balises).
Ensuite j'imprime ce fichier grâce à une commande shell print.
Et ensuite je détruis ('kill') le fichier HTML pour qu'il ne reste pas de trace de ce fichier après l'impression.
Mon problème c'est que lorsque la commande "kill" succède la commande "shell",la commande shell ne fonctionne pas.
Par contre si je mets un msgbox entre le "shell" et le "kill" cela fonctionne, on dirait que c'est un problème de temps d'exécution de la commande "shell" (le kill supprimerait le fichier avant qu'il soit imprimé et donc il ne pourrait plus être imprimé ?)
Comment faire ? je ne vais pas mettre un msgbox uniquement pour gagner un temps minime
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 9 janv. 2009 à 10:56
Salut
Comme tu l'as dit, suffit de metre une pause entre les deux.
Soit tu fais une boucle Do-Loop qui attend 2 ou 3 secondes, soit tu récupères l'identifiant du process lancé par le Shell et tu attends qu'il disparaisse.
Mais en .NET, je ne saurais comment le faire.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
jfuck
Messages postés59Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention31 mars 2009 9 janv. 2009 à 11:02
Merci pour ta réponse si rapide ,
j'ai mis une pause de 100 millisecondes (utilisation de l'api sleep), ca sera transparent à l'utilisation et ça fonctionne... attention a 80 millisecondes ca ne marche pas .
J'ai l'impression qu'a l'exécution c'est moins lourd que de récupérer l'identifiant du process et de faire des tests...
Par contre peut être que sur une machine plus lente cela posera des problèmes... donc je vais mettre 200 millisecondes par sécurité.