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 :

comment lancer un Service ?


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Points : 25
    Points
    25
    Par défaut comment lancer un Service ?
    Bonjour,

    j'ai crée une nouvelle "applicationService" qui, par exemple, contient uniquement le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    showMessage('coucou');
    une fois installé, je le lance et il ne se passe rien... à quel évènement doit être rattaché cette ligne de code pour qu'il soit exécuté au lancemlent du service ?

    - onStart ?
    - onExecute?
    - ?

    De plus le service a une méthode 'doStart()' , puis-je écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    onAfterInstall()
    begin
      doStart();
    end;
    ...pour lancer le service dés son installation ?

    Merci de votre aide, donnez moi tout les renseignements que vous connaissez sur ce composant ou bien une adresse de tutorial...?

  2. #2
    Membre du Club

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 43
    Points : 48
    Points
    48
    Par défaut
    Quand je fais des services, je mets le code à exécuter au démarrage dans le OnStart. Sinon, j'ai regardé vite ce que faisait OnExecute et avec simplement l'aide de delphi, je n'ai pas trop bien compris .

    J'ai des doutes sur le fait qu'on puisse faire un ShowMessage dans un service. Normalement, un service n'affiche rien à l'écran (rien de graphique). Cela peut même être une source d'erreur (pour les ShowMessage, je ne sais pas mais si c'est un boîte de dialogue j'en suis sûr)
    Pour vérifier que ton service marche, fait plutôt un fichier de logs.

    Enfin, je ne connais pas DoStart et je ne l'ai pas trouvé dans les méthodes du TService. C'est une méthode de quelle classe ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    je ne peux pas te dire pour l'instant mais je regarderai ce soir

  4. #4
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Bon , primo un service ca peut avoir une interface graphique , donc un showmessage. Il faut pour cela qu'il puisse interagir avec le bureau et donc qu'il soit executé sous le compte localsystème.

    Secondo, dans le onexecute met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while not terminated do
          ServiceThread.ProcessRequests(true);
    après met un timer avec un showmessage ou met ton code dans l'évenement onStart.

    Tertio, pour faire du pas à pas via delphi avec un service il faut que le service windows installer soit démarré sur ta machine. Attention il s'arrête tout seul et tu as un temps limite après lequel si tu ne fait pas de pas a pas ton service va s'arrêter.

    Quatro pour installer otn service utilises les paramètres /install ou /uninstall.

    Pour terminer, je préconise d'utiliser un serveur web integré (indy) en guise d'interface pour le service.
    Bon code.

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 4
    Points
    4
    Par défaut TService
    Pour pouvoir afficher des choses, le service doit avoir la permission d'interragir avec le bureau ... sinon, ça fait une exception et l'appli se termine.

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

Discussions similaires

  1. [Batch] Comment lancer un service WINDOWS XP
    Par bs.box dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 30/04/2010, 00h03
  2. Comment lancer un agent Jade depuis un service web?
    Par ziedtrabelsi dans le forum Services Web
    Réponses: 0
    Dernier message: 27/09/2009, 19h06
  3. Comment lancer une application depuis un service ?
    Par bhf37 dans le forum Langage
    Réponses: 7
    Dernier message: 05/03/2009, 14h05
  4. comment lancer par code un service Jboss
    Par d_hazem dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 23/12/2008, 08h59
  5. [debutant]comment lancer un service au demarrage
    Par pierrot10 dans le forum Administration système
    Réponses: 1
    Dernier message: 15/12/2008, 17h11

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