Bonjour tout le monde !
Dans mon programme, je fais appel à un petit executable (dont je n'ai pas la source) en lui passant un fichier en argument. Ce petit exe lit le fichier, fais quelques calculs, et m'écrit le résultat dans un autre fichier (ou réécris dedans, car le fichier peut déjà exister).
Mon programme lit ensuite le résultat dans ce fichier.
Mais le souci, c'est que le programme n'attend pas que l'exe ait fini pour essayer de lire le fichier, dès que l'application est lancée par shellexecute, borland passe à la ligne suivante.
J'ai résolu temporairement le pb en mettant Sleep(100), mais ce n'est pas très propre je trouve. Y a-t-il une meilleure solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //appel de l'executable ShellExecute(NULL,"open",nomexe.c_str(),parametre.c_str(),NULL, SW_SHOWNORMAL); //attente de la fin du calcul Sleep(100); //lecture du résultat e->readres(nomresultat.c_str());
Partager