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

Lazarus Pascal Discussion :

Comment détecter si le programme est lancé avec l'IDE ?


Sujet :

Lazarus Pascal

  1. #1
    Invité
    Invité(e)
    Par défaut Comment détecter si le programme est lancé avec l'IDE ?
    Bonjour,

    J'ai besoin de différencier si mon project1 est lancé de manière autonome ou par l'IDE.

    Au départ, j'ai pensé régler le problème avec des {$if }. Mais je n'ai rien trouvé à mettre derrière le {$if qui pourrait détecter l'action du Debugger (et non pas sa présence puisqu'il est externe à Lazarus).

    Donc, faute de mieux,
    • Sous Windows je pense que l'on peut faire quelque chose du genre IsRunningDelphi que l'on trouve sur le Web en prenant les précautions d'usage.

    • Sous Linux, j'ai essayé ceci par Terminal pour détecter comment est lancé le programme lclversionexample contenu dans le répertoire /root/testtesttest/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    # fuser -vu /root/testtesttest/lclversionexample
    Réponses obtenues
    • Programme lancé de manière autonome

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                         USER        PID ACCESS COMMAND
    /root/testtesttest/lclversionexample:
                         root       2508 ...e. (root)lclversionexamp
    • Programme en Run Lazarus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                         USER        PID ACCESS COMMAND
    /root/testtesttest/lclversionexample:
                         root       2689 ....m (root)gdb
                         root       2780 ...e. (root)lclversionexamp
    Donc, on peut différencier le type de lancement comme cela...

    Mais je me demande encore s'il n'y a pas une méthode plus simple d'une part et plus portable ? Je ne serais pas passé à côté de quelque chose d'élémentaire et d'astucieux comme souvent Lazarus permet de le faire ?

    Il y a bien dans le package FCL les units
    • dbugintf : Unit to send commands to a debug server process
    • dbugmsg : Auxiliary unit for the dbugintf unit

    Mais la documentation indique qu'il n'y a rien à espérer de ce côté-là.
    http://coleweb.dc.fi.udc.es/docencia...-2.0.2/fcl.pdf
    The unit is transparant in its use: it does not need initialization, it will start the debug server by itself if it can find it: the program should be called debugserver and should be in the PATH. When the first debug message is sent, the unit will initialize itself.
    The FCL contains a sample debug server (dbugsvr) which can be started in advance, and which writes debug message to the console (both on Windows and Linux). The Lazarus project contains a visual application which displays the messages in a GUI.
    Des docs sur ce sujet-là ou une manière de faire ?

    Merci. Cordialement. Gilles
    Dernière modification par Invité ; 05/07/2010 à 19h33.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/11/2012, 15h20
  2. DOS BATCH comment savoir si un programme est déjà lancé ?
    Par ritchie23 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 21/10/2008, 20h37
  3. Comment savoir si le service apache est lancé avec java?
    Par devassam dans le forum Général Java
    Réponses: 3
    Dernier message: 25/08/2008, 19h19
  4. [VBS] comment tester si un programme est déjà lancé ?
    Par Gunner4902 dans le forum Windows
    Réponses: 0
    Dernier message: 06/08/2008, 18h04
  5. [Delphi 6] Comment détecter si un poste est connecté ?
    Par Lung dans le forum Web & réseau
    Réponses: 81
    Dernier message: 22/04/2005, 16h13

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