ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 2010
-
16 juin 2004 à 16:41
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 2006
-
1 mars 2005 à 10:27
;) Le plus simple écolier sait maintenant des vérités pour lesquelles Archimède eut sacrifié sa vie... :)
Bonjour, voilà mon problème :
A partir d'un programme delphi, je lance un fichier BAT qui permet de copier un dossier dans un répertoire demandé à l'utilisateur dans le bat (j'utilise un bat pour pouvoir copier un dossier plus simplement... En effet, il n'existe pas de commande delphi "pratique" et "simple" pour copier un répertoire...) Ce fichier BAT définit une variable d'environnement pour le répertoire de destination, afin que le programme delphi la récupère et crée un raccourci sur le bureau pour ce dossier.
Le problème est que la variable d'environnement n'a pas eue le temps d'être créée car delphi a continué d'exécuter les instructions qui suivent le lancement du programme BAT, et l'appel de la variable (qui n'est pas encore définie) ne donne aucun résultat...
Existe-t-il une procédure pour savoir si le programme lancé est terminé avant d'exécuter de nouvelles instructions ? (une sorte d'instruction qui "mette en veille" le programme Delphi jusqu'à ce que le programme appellé soit terminé...)
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 16 juin 2004 à 17:35
salut,
Essaye avec cette fonction et dis moi si ca fonctionne :
function LanceAppliAttenteFin(NomFichier:string):boolean;
{permet de lancer un exécutable. NomFichier est le nom avec chemin }
{de cet exécutable ou d'un raccourci qui pointe vers cet exécutable. }
{ notre programme est arrété tant que l'exécutable n'est pas fini }
{tout est arrété on ne peut donc même plus déplacer sa fenêtre. }
{ il est donc préférable de la rendre invisible avant le lancement }
{de cette fonction. }
{ LanceAppliAttenteFin renvoie true si le lancement s'est bien passé }
var
StartInfo : TStartupInfo;
ProcessInformation : TProcessInformation;
begin
result:=true;
ZeroMemory(@StartInfo, sizeof(StartInfo)); // remplie de 0 StartInfo
StartInfo.cb:=sizeof(StartInfo);
if CreateProcess(nil,PChar(NomFichier),nil,nil,true,0,nil,nil,StartInfo,ProcessInformation)
then WaitForSingleObject(ProcessInformation.hProcess, INFINITE)// attend que l'application désignée par le handle ProcessInformation.hProcess soit terminée
else result:=false;
end;
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 27 févr. 2005 à 11:49
gv >>
L'important, c'est que jmp77 m'ai donné la solution.
C'est un forum d'entraide non ? Donc tout va bien jusque là...
Va-t-on mettre des copyright sur les sources du site
Si une astuce est connue de plusieurs personnes, est-ce-que la première à la déposer comme source sur ce site en devient propriétaire
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 28 févr. 2005 à 09:57
Hello tout le monde,
Effectivement grandvizir ce code n'est pas de moi et d'ailleurs je n'ai
jamais prétendu le contraire. Tu sais j'ai beaucoup de morceau de code
que je récupère a droite et à gauche et je ne me souviens pas de tous
les liens.
Mais comme le dit ni69 on s'en fiche un petit peu de savoir si c'est le gars qui te depanne qui a ecit ou non la fonction.
Après recherche la fonction que j'ai donné proviens de ce lien :
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 28 févr. 2005 à 18:02
«tu sais, on s'en fout un peu»
Si je donne un lien, c'est uniquement qu'il y a plus de chances pour qu'il évolue, pas ce message. jmp a ici raison de fournir un autre lien. Arrêtons donc, ça risquerait de vous donner des points...
Sinon, je comprend pas pourquoi les liens de jmp sont toujours sans liens. Qu'on clique dessus quand même !
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 1 mars 2005 à 10:27
Hello,
Ouais désolé pour les liens qui fonctionne pas. Cela vient du fait que
j'utilise firefox et il y a un problème de compatibilité entre firefox
et le nouvel editeur de delphifr.
Je pense que le problème sera résolu un jour prochain par les admins.