Salut
Je doit passer un fichier bitmap « A.bmp » à un exécutable x.exe par un appel de ce dernier, x.exe va me traiter le fichier « A.bmp » et me créer un autre fichier bitmap« B.bmp » que je doit charger dans l’Image4 de ma Form1, j’utilise pour cet appel la fonction ShellExecute; sachant que : x.exe prend un temps pour s’exécuter . Ce temps ma poser un problème pour cela je me suis dit puisque la création de B.bmp implique la fin de l’exécution de x.exe et pour ne pas laisser l’utilisateur attendre sans réponse, j’ai pensé alors à utiliser un ProgressBar qui s’incrémente tant que le fichier B.bmp n’a pas été créer. une foie créer, le fichier B.bmp pourra être chargé dans Image4 .
Voici le code qui résume ce que j’ai raconté :
Mon problème est que je ne peux pas charger le bitmap B dans l’Image ; à l’exécution quand le ProgressBar est mis au Max un message d’erreur me dit « impassible d’ouvrir le fichier ‘D:\\B.bmp’ ;
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 { //suppression du fichier B avant dappeler lexécutable if (FileExists("B.bmp")) DeleteFile("B.bmp"); // Apel de lexécutable ShellExecute(Form1->Handle,"Open","C: \\x.exe",NULL,"C:\\",SW_HIDE); ProgressBar1->Min = 0; ProgressBar1->Max=10000; int i= ProgressBar1->Min; //Vérifier est ce que le fichier B.bmp a été bien créer autrement dit : est ce que lexécution de x ca été terminé ?? while(! (FileExists("B.bmp"))) { ProgressBar1->Position = i; i++; } // B maintenant est créer ProgressBar1->Position = ProgressBar1->Max; Image4->Picture->Bitmap->LoadFromFile("B.bmp"); }
Que dois je faire ?
Est-ce qu’il ya d’autres solutions pour tester que x.exe a terminé son exécution ?
Remarque : le temps d’exécution de x.exe vari selon le fichier A.bmp
Merci d’avance![]()
Partager