Probléme d'accés fichier

cs_GawiNDX Messages postés 5 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2004 - 23 mars 2004 à 19:30
cs_GawiNDX Messages postés 5 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2004 - 29 mars 2004 à 23:47
Bonjour !

J'ai un petit souci avec un soft que je suis en train de développer, je m'explique :
j'execute un programme externe via un createprocess,
ce programme me sort un fichier texte dans lequel est contenu une information dont j'ai besoin pour d'autres traitement (ce programme n'est pas de moi et je n'ai pas les sources)
j'ouvre donc ce fichier texte et en ressort l'information désiré sans souci.
jusque là tout va bien.
une fois revenu dans mon programme, mes variables internes ne possédent plus les memes valeurs ou change toutes seule d'une instruction à une autre (sympathique).

J'ai essaye de mettre le traitement du fichier texte dans une fonction, puyis dans une DLL à part que j'invoque uniquement à ce moment : tout pareil.

Si quelqu'un à un petit conseil ou à déja rencontre ce genre de problémes je suis preneur.

Merci d'avance.
GawiNDX

4 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 mars 2004 à 21:07
Jette un oeil sur ce didacticiel et sur le paramètre TimeOut dans l'appel à WaitForSingleObject.
Ainsi, tu peux bloquer l'exécution de ton appli en attendant la fin de l'exécution du programme externe.
May Delphi be with you
0
cs_GawiNDX Messages postés 5 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2004
24 mars 2004 à 18:13
Merci pour l'info, j'en ai encore appris un peu sur cette commande.
Malheureusement, j'utilise déja la fonction d'attente et le probléme ne vient donc pas de là.

le souci viendrait d'executer un .bat( celui la meme qui me génére le fichier texte). Et je ne pense pas pouvoir faire autrement puisque dés que j'envoie '>xxxx.txt' dans les paramétres de createprocess, il ne se passe rien.
Par contre en regardant sur les réponses que tu as donne a d'autres developpeur, j'ai trouve une info pour recuperer les info d'un programme DOs dans un TMemo à son execution, ce qui pourrait correspondre à l'utilisation que je fait.

Merci tout de meme.

GawiNDX
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
24 mars 2004 à 21:09
Tu n'avais pas précisé que c'était un fichier batch qui était lancé. Dans ce cas, je comprends mieux que tu ne puisses pas arrêter l'exécution des programmes qu'il lance lui même avant de rendre la main.

Si la solution que j'ai proposé te convient mieux, je pense que celle située sur le site developpez.com te conviendra encore mieux puisque l'opération de capture des infos d'un programme DOS y est proposée sur la forme d'un composant encapsulant toute l'opération. A voir absolument.
May Delphi be with you
0
cs_GawiNDX Messages postés 5 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2004
29 mars 2004 à 23:47
Merci pour l'info!

Ce composant est vraiment bien foutu et m'a permis de régler mon probléme.
Il n'a qu'un petit défaut : il m'a lair d'etre gourmand en ressource, mais c'est peut etre mon appli qui gére mal les ressource (etant donne mon niveau de programmeur, ce n'est pas impossible).

Merci pour votre aide et à une prochaine fois au détour du forum.

GawiNDX
0
Rejoignez-nous