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

Composants VCL Delphi Discussion :

Fermer une application à l'aide de OnIdle


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 12
    Points : 14
    Points
    14
    Par défaut Fermer une application à l'aide de OnIdle
    Comment faire pour fermer une application apres un certain temps avec Application.OnIdle et comment fonctionne cet evenement j'ai pas tous compris dans l'aide Delphi.


    Merci

  2. #2
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 670
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 670
    Points : 7 030
    Points
    7 030
    Par défaut
    Je ne l'ai jamais utilisé, mais je crois que cet évènement peut se déclancher quand aucun autre traitement n'est en cours.


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    OnIdle s'éxécute dès que l'application passe de l'état actif à inactif (ne traite pas de code) et ce une seule fois si Done a la valeur True (valeur par défaut). Elle sera appelé de maniere continue si Done est passé à False (dans cette même procédure)...

    Enfin, tout ça pour dire finalement que :

    Moi, je jouerai plutot sur les messages windows qui montrent que l'utilisateur est actif (WM_MOUSEMOVE ...) :

    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
     
     
    type
      TForm1 = class(TForm)
        FTimer: TTimer;
        procedure FormCreate(Sender: TObject);
      private
        { Déclarations privées }
        procedure InitTimer;
        procedure TimerTimer(Sender: TObject); 
        procedure Activite(var Msg : Tmsg; var Handled: Boolean);
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.DFM}
     
    procedure TForm1.InitTimer;
    var b : boolean;
    begin
     b := FTimer.Enabled;
     FTimer.Enabled := False;
     FTimer.Enabled := b;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    var Duration : integer;
    begin
     Duration := 1;
     FTimer := TTimer.Create(self);
     FTimer.OnTimer := TimerTimer;
     FTimer.Enabled := True;
     FTimer.Interval := Duration*60000;   // minutes -> millisecondes
     Application.OnMessage := Activite;
    end;
     
    procedure TForm1.TimerTimer(Sender: TObject);
    begin
      Close;
    end;
     
    procedure TForm1.Activite(var Msg : Tmsg; var Handled: Boolean);
    begin
      if ((Msg.message = WM_MOUSEMOVE) or (Msg.message = WM_KEYDOWN)) then
           InitTimer;
      Handled := false;
    end;

Discussions similaires

  1. Fermer une application Windows
    Par telecnop dans le forum Langage
    Réponses: 20
    Dernier message: 28/06/2006, 21h15
  2. Fermer une application externe
    Par jean tof dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/05/2006, 16h18
  3. Fermer une application
    Par Nicolas69 dans le forum MFC
    Réponses: 1
    Dernier message: 04/12/2005, 18h09
  4. Fermer une application exterieure
    Par P.B dans le forum Windows
    Réponses: 4
    Dernier message: 01/12/2005, 15h17
  5. [VB6]Fermer une application avec VB
    Par Mylou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/04/2003, 21h32

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