IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Bloquer un executable


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut Bloquer un executable
    Bonjour à tous,

    Voilà, dans mon application je dois lancer un executable réaliser en Fortran(jusque là pas de problème ).
    Mais cette executable a été conçu pour afficher des résultats, et j'aimerais donc attendre que l'utilisateur appuie sur une touche pour fermer la fenêtre de l'executable fortran.

    J'ai essayé un thread et la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CreateProcess(...)
    WaitFor( ProcessInfo.hProcess )
    Mais ça me permet uniquement de savoir que l'executable est fini...

    Si quelqu'un a une idée...

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    1. est-ce que tu ne pourrai pas modifier le programme fortran pour qu'il demande à l'utilisateur d'appuyer sur une touche avant de quitter ?

    2. sinon tu peux créer à la volée un fichier bat go.bat qui contient deux lignes :
    prog_fortran.exe
    @pause
    et au lieu de lancer ton programme tu lances go.bat, puis quand il est terminé tu l'effaces

  3. #3
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Bonjour,

    Si je comprends tu lance ton process et tu attends en interrogeant celui-ci via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      GetExitCodeProcess(ProcessInfo.hProcess, lpExitCode)
    pour savoir si il est terminé. Mais comme celui-ci ne se termine pas vraiment sans action de l'utilisateur sur le dit process tu souhaiterait pouvoir le fermer.

    As-tu essayé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      DestroyWindow(ProcessInfo.hProcess);
    a+

  4. #4
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Tout d'abord merci pour vos réponse,

    Je crois que je me suis mal expliqué Yurck...En fait j'ai pas un problème pour fermer l'executable, mais plutot pour garder son affichage.

    1. est-ce que tu ne pourrai pas modifier le programme fortran pour qu'il demande à l'utilisateur d'appuyer sur une touche avant de quitter ?
    Non je peux pas modifier le Fortran, parcque c'est un logiciel développé en interne et il veulent pas que je le modifie...
    2. sinon tu peux créer à la volée un fichier bat go.bat qui contient deux lignes :
    Cette idée me parait bonne, mais j'ai du mal a voir ce que je doit faire...
    N'aurait-tu pas un lien ou un exemple de manipualtion de fichier 'bat' denokan?

    Merci encore.

    @+.

  5. #5
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    il suffit de créer le fichier bat dans le dossier de ton application fortran, et à l'intérieur tu écris :
    le nom de ton programme fortran sur la première ligne
    la commande dos pause qui demande à l'utilisateur d'appuyer sur une touche pour continuer le déroulement du fichier bat

    ainsi, quand tu lances ce fichier bat, tout se déroule comme si tu tapais son contenu directement au clavier. tu verra donc apparaître le nom de ton programme fortran, ses résultats, puis la commande pause, puis la ligne 'veuillez appuyer sur une touche....'

    pour terminer, dans un soucis de clarté, tu peux (dans ton fichier bat) précéder la commande pause du signe @ afin de ne faire apparaître à l'écran final que le résultat de la commande, et non pas son appel.

    un exemple de fichier go.bat :
    dir
    @pause

  6. #6
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Yes,

    Maintenant que j'ai compris crois-je, je pense que la solution du .bat est tout aussi mauvaise.
    Si ton exe fortran se referme quand il a fini son affichage ce n'est pas le pause dans le .Bat qui l'en empêchera.
    Donc soit tu t'impose et demande aux grands garçons ou filles en interne de modifier leur programme pour donner accès aux informations qu'ils affichent soit tu t'acharnes à essayer de les récupérer avant qu'elles ne s'évanouissent.

    Alors si tu ne peux pas t'imposer (Oh les méchants), tu dois contourner le problème.
    Par exemple en cherchant à copier l'image de cette appli dans ta boucle d'attente et conserver l'avant dernière qui "devrait" être la meilleure.

    a+

  7. #7
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Correction

    En relisant denokan je me dis qu'il faut essayer le .Bat car après tout si le programme Fortran affiche les infos sur le prompt DOS cela devrait pouvoir le faire.

    a+

  8. #8
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Ok Yurck,

    Je vais m'imposer pour les forcer à modifier leur fortran...Et si ils refusent je démissionne!!

    Tans pis pour eux, il vont perdre leur meilleur ( et unique ) stagiaire.

    Merci à tous, je reviendrais si ils refusent...

    @+.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bloquer interface lors execution d'un thread
    Par Mattorre dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 25/06/2010, 10h26
  2. Réponses: 11
    Dernier message: 15/02/2009, 16h11
  3. Bloquer l'execution de la méthode main
    Par Ganymede dans le forum Général Java
    Réponses: 10
    Dernier message: 10/12/2008, 11h45
  4. Réponses: 6
    Dernier message: 14/06/2007, 23h22
  5. executer code sans bloquer l'aplication
    Par laftah71 dans le forum Access
    Réponses: 2
    Dernier message: 10/11/2006, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo