Bonjour à tous !
J'ai un problème quand à l'utilisation d'un timer dans mon programme.
Je m'explique : J'ai un timer qui a pour but de "ping" toutes les 2 secondes un serveur. Le timer gère la connexion et la déconnexion (en cas de panne réseau...).
Lorsque je simule une panne réseau (déconnexion du câble réseau), le programme passe en mode déconnecté. Et 1 minutes après je rebranche le câble, et le programme repasse en mode connecté.
Cependant, je rencontre un problème : Pendant la minute de déconnexion, il se déconnecte 30 fois de la base de données... Et lorsque je suis connecté, il se connecte toutes les 2 secondes au serveur.
Comment je peux faire pour ne réaliser qu'une seule déconnexion ou une seule connexion tout en laissant le timer vérifier la connectivité ?
Voici mon timer pour illustrer mon problème :
Merci de m'apporter votre aide, je vous en serais fort reconnaissant
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 procedure TFenetrePrincipale.temps_pingTimer(Sender: TObject); begin if (pingAd(hote_serveur)) then begin FenetrePrincipale.Caption := 'Prog - Mode Réseau'; barre_statut.Panels[0].Text := 'Connecté ['+hote_serveur+']'; FBDD.Connected := True; end else begin FenetrePrincipale.Caption := 'Prog - Mode Local'; barre_statut.Panels[0].Text := 'Déconnecté'; FBDD.Connected := False; end; end;
Partager