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

API, COM et SDKs Delphi Discussion :

Tservice démarrage automatique


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut Tservice démarrage automatique
    Bonjour,
    J'ai réalisé des services qui doivent se lancer avant que le premier utilisateur se connecte.
    Le démarrage automatique ne se fait pas (Temps de démarrage > 30000 ms dans l'observateur d'évènement)
    Pour analyser le problème, J'ai retiré tout traitement.
    J'obtiens un service qui se lance bien lorsqu'on fait démarrer, mais ne se lance pas au démarrage du PC
    Ceci ne se passe que sur Windows 7.
    Ca démarre normalement sur Windows 8.
    Une piste ?

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Il prend beaucoup de temps mais il démarre
    C'est l'OS qui détermine l'ordre de démarrage des services (et il y en a beaucoup) et il n'est pas possible d'en rendre un prioritaire. Je ne pense pas que tu puisses faire grand chose...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    C'est curieux, car sous windows 8 ça se passe normalement, il démarre en automatique

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,
    Citation Envoyé par magil Voir le message
    C'est curieux, car sous windows 8 ça se passe normalement, il démarre en automatique
    Quels sont les traitements ?
    Le service possède-t-il pour chacun des SE des droits adéquats ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    Pour simplifier le problème, j'ai retiré tous les traitements :
    J'ai mis // dans le oncreate
    J'ai mis started := true dans le onstart, etc..

  6. #6
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Le problème est ailleurs. Sur Windows 7, mes services démarrent normalement et instantanément que ce soit en automatique ou en manuel.

    Pour le temps de démarrage du service, il faudrait voir le contenu du execute.
    Pour le service qui ne démarre pas, ça ne serait pas le fait d'avoir un execute vide qui fait que le service se termine?

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Citation Envoyé par magil Voir le message
    Le démarrage automatique ne se fait pas (Temps de démarrage > 30000 ms dans l'observateur d'évènement)
    Le démarrage prend 30s mais le service est bien lancé automatiquement
    Il n'est pas possible de comparer le démarrage manuel de ce seul service depuis le bureau et le démarrage à froid du PC qui doit en lancer plusieurs dizaines.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    En fait, le execute a un code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    repeat
      sleep(100);
    until 1 = 0;
    Pour le démarrage avec tous les services windows,
    - sous windows 8 tout démarre normalement
    - sous windows 7, le service ne démarre pas, même si on augment le tende de démarrage à 120 s.

  9. #9
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Quelle horreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TService1.ServiceExecute(Sender: TService);
    begin
      while not Terminated do
        ServiceThread.ProcessRequests(True);
    end;

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    Je n'ai pas de ServiceThread.

    en remplaçant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    repeat
    sleep(100);
    until terminated;
    ça ne change rien

  11. #11
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Citation Envoyé par magil Voir le message
    Je n'ai pas de ServiceThread.
    Ce qui serait surprenant puisque c'est lui qui lance OnExecute. Tu utilises bien le service Delphi de base ou une autre implémentation comme TDDService ?
    Là, tu ne lui donnes pas la possibilité de traiter les messages qu'il reçoit.

    Utilise LogMessage pour ajouter des entrées dans l'observateur d'événements.

Discussions similaires

  1. Démarrage automatique des services
    Par barrique dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/07/2008, 09h40
  2. démarrage automatique d'application
    Par velociraptor5679 dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 07/06/2006, 10h03
  3. [OEM] démarrage automatique
    Par lido dans le forum Oracle
    Réponses: 1
    Dernier message: 02/01/2006, 11h07
  4. [Windows XP][Service] Pb démarrage automatique
    Par joefou dans le forum Windows XP
    Réponses: 5
    Dernier message: 14/10/2005, 09h03
  5. [Windows XP][Démarrage]Démarrage automatique d'un programme
    Par Jean Claude90 dans le forum Windows XP
    Réponses: 5
    Dernier message: 02/03/2005, 12h55

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