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

Web & réseau Delphi Discussion :

IdAntifreeze et service Windows


Sujet :

Web & réseau Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut IdAntifreeze et service Windows
    Bonsoir à tous

    Est-Il utile de mettre un "IdAntiFreeze" dans un service Windows ?


    Merci pour votre réponse.
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut Unit IdAntiFreeze.pas


    J'ai été faire un tour dans l'unité "IdAntiFreeze pas" pour voir un peu la source de ce composant, Pour moi j'en conclue que c'est un "Application.ProcessMessages" , donc je pense que l'IdAntiFreeze" na pas sa place dans un service Windows vue que je n'ai pas une application "VCL", ou je me trompe ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    type
      TIdAntiFreeze = class(TIdAntiFreezeBase)
      public
        procedure Process; override;
        // This here and not the base class because it uses InMainThread, which is
        // not in DotNet right now. Can be moved back to base class and virtual
        // removed otherwise.
        class function ShouldUse: Boolean; override;
      end;
     
    implementation
     
    uses
      {$IFDEF LINUX}
      QForms,
      {$ENDIF}
      {$IFDEF MSWINDOWS}
      Forms,
      Messages,
      Windows,
      {$ENDIF}
      {$IFDEF DOTNET}
      Forms,
      {$ENDIF}
      IdGlobal;
     
    {$IFDEF LINUX}
    procedure TIdAntiFreeze.Process;
    begin
      //TODO: Handle ApplicationHasPriority
      Application.ProcessMessages;
    end;
    {$ENDIF}
     
    {$IFDEF MSWINDOWS}
    procedure TIdAntiFreeze.Process;
    var
      Msg: TMsg;
    begin
      if ApplicationHasPriority then begin
        Application.ProcessMessages;
      end else begin
        // This guarantees it will not ever call Application.Idle
        if PeekMessage(Msg, 0, 0, 0, PM_NOREMOVE) then begin
          Application.HandleMessage;
        end;
      end;
    end;
    {$ENDIF}
     
    {$IFDEF DOTNET}
    procedure TIdAntiFreeze.Process;
    begin
      //TODO: Handle ApplicationHasPriority
      Application.ProcessMessages;
    end;
    {$ENDIF}
     
    class function TIdAntiFreeze.ShouldUse: Boolean;
    begin
      // InMainThread - Only process if calling client is in the main thread
      Result := (GAntiFreeze <> nil) and InMainThread;
      if Result then begin
        Result := GAntiFreeze.Active;
      end;
    end;
     
    end.
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/09/2011, 14h30
  2. services windows quand la session est fermée
    Par batou22003 dans le forum Services Windows
    Réponses: 5
    Dernier message: 09/03/2011, 14h39
  3. Savoir si mon appli est un service windows
    Par ElBarto38 dans le forum C#
    Réponses: 6
    Dernier message: 14/04/2010, 11h46
  4. Savoir si un service windows est demarré
    Par kam81 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 29/03/2010, 15h26
  5. Réponses: 1
    Dernier message: 08/03/2010, 15h40

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