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

Langage Delphi Discussion :

récupérer l'instance d'une application


Sujet :

Langage Delphi

  1. #1
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut récupérer l'instance d'une application
    Bonjour,

    je ne sais pas si je post au bon endroit, mais je ne sais trop où poser cette question. Voilà j'ai un programme qui est appelé depuis un .bat. Ce que je voudrais c'est que si ce programme est en cours d'exécution, ne pas en lancer une nouvelle instance.
    Attention : mon but n'est pas seulement d'éviter d'avoir 2 instances du programme en même temps, ce que je souhaite c'est laisser le programme s'exécuter pour optimiser le temps de réaction lors d'un 2ème appel.

    Merci de votre attention.

    @++
    Dany

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Pourquoi ne pas utiliser un Mutex comme précisé dans cette FAQ

  3. #3
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    Citation Envoyé par Aka Guymelef Voir le message
    Pourquoi ne pas utiliser un Mutex comme précisé dans cette FAQ
    Eh bien à moins que j'ai mal compris le principe, il me semble que la deuxième instance se lance quand même même si ce lancement n'est pas complet, ce que je voudrait éviter en fait.
    Ce que je cherche c'est un procédé qui me permette de ne pas charger l'application à chaque appel, sachant que je ne suis pas maître de l'appel. Pour être complet cet appel se fait depuis un AS400 au travers de Client Access, et la méthode est tout à fait équivalente à un appel depuis un .bat.
    Mais ce que je cherche n'est peut-être pas possible.

    En tout cas merci pour ton aide.

    @++
    Dany

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Effectivement l'utilisation du Mutex va requérir que le programme se charge ... pour se fermer tout de suite après si déjà lancé. Néanmoins si tu ne veux pas lancer du tout la seconde instance alors il te faut faire le test avec les instructions du fichier batch. Ce qui est plutôt limité.

    Néanmoins une solution relativement simple serait de mettre en place un système de "fichier-flag". Si le fichier existe alors c'est que le programme tourne, s'il n'existe pas alors le batch créé le programme qui tout de suite après créé le fichier pour signalé qu'il tourne. Enfin quand le programme se termine il détruit le "fichier-flag".

  5. #5
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    Oui, c'est ce que je craignais, il n'y a pas vraiment de bonne solution.
    La solution du fichier-flag fonctionnerait très bien dans un contexte idéal, mais si jamais le programme vient à planter pour une quelconque raison , le fichier flag restera et il faudra le supprimer manuellement pour pouvoir relancer l'application.
    Merci encore pour ton aide.

    @++
    Dany

  6. #6
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    sinon, tu peux faire un launcher: un exe tout petit qui lancera le vrai exe si il n'est pas deja lancé. ca revient a faire un exe qui remplace ton batch, donc un peu plus de possibilités.

  7. #7
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    Bonsoir,

    oui je crois que je vais opter pour cette solution.

    Merci à tous pour votre aide.

    @++
    Dany

  8. #8
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    petite info supplementaire: je pense que FindWindow est la bonne option pour retrouver ton exe

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

Discussions similaires

  1. Récupérer la version d'une application
    Par selmak7 dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/06/2006, 13h23
  2. [C# - Application] - Récupérer l'instance de l'application.
    Par angusyoung34 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/12/2005, 13h45
  3. [C#] - Récupérer les paramètres passés à une application
    Par linuxludo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/11/2005, 14h41
  4. Réponses: 2
    Dernier message: 04/10/2005, 11h12
  5. Réponses: 5
    Dernier message: 22/09/2005, 10h15

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