Commande shell ne s'exécute pas... [Résolu]

Signaler
Messages postés
59
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
31 mars 2009
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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

Merci pour votre aide
J.

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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)
Messages postés
59
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
31 mars 2009

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é.

A+
J.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Pousse jusqu'à une seconde, l'utilisateur ne s'en apercevra pas et tu seras sûr que ça passera.