Timer non visuel?

Résolu
cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018 - 1 avril 2014 à 16:58
cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018 - 7 avril 2014 à 04:18
Bonjour,

Est-il possible d'ajouter un timer à un objet qui n'a pas de partie visuelle? (pas de fiche...)

merci...
--
A voir également:

14 réponses

solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 10
1 avril 2014 à 19:16
Salut,
Oui, bien sûr, tu peux créer un timer, avec qq' règles simples:
- à condition de ne pas oublier de le supprimer (free)
- créer la proc (evenement) OnTimer dans une form (car elle recoit des messages), initialiser les champs interval et Ontimer à la création. Exemple: Form1, Bouton1 crée le timer, bouton2 le delete:


implementation
var LeTimer : tTimer = nil; // global à l'unité

procedure TForm1.Timer1Timer(Sender: TObject);
// evidem, déclarée dans Form1
beep; // exemple
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if LeTimer=nil then
LeTimer := tTimer.create(self);
with LeTimer do
begin
OnTimer := Timer1Timer; // l'action
interval:=1000; // la durée
enabled:=true; // lancer
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
LeTimer.free;
LeTimer := nil;
end;

Cordialement.

solilog
0
cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018
2 avril 2014 à 09:38
Merci de la réponse, mais elle semble bien indiquer ce que je redoutais: un objet qui n'a pas de fiche - pas de partie visuelle - ne peut pas avoir de timer. De plus j'ai lu ailleurs que le nombre possible de timers était limité et défini par le système. Comme je peux avoir un très grand nombre d'objets je ne pense pas prendre le risque de développer avec le concept d'un timer par objet.
0
Rejoignez-nous