Bonjour,
J'ai trouve un exemple et je ne le comprends pas bien:
Que fait ce code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 declare Timeout : Duration:= 10.0; -- durée attendue 10s begin select delay Timeout; then abort Compute; -- calcul dont on veut -- limiter le temps -- dexécution end select; end;
si Compute prend plus de 10s son execution est arrete ?
comment dois je faire si je veux qu'au lieu de quitter le programme si Compute depasse 10s il m'execute autre chose ?
(en fait je voudrais temporiser une simulation et si j'accelere trop la vitesse de simulation (la simulation n'arrive plus a suivre) j'aimerais la ralentir.)
Je comprends pas ce que fait Alarm.Panic. C'est un programme qui tourne en boucle ? s'il s'arrete alors on interromp Compute ?
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 declare Mode : Mode_Type := Normal; -- le mode est -- normal ou critique begin select Alarm.Panic; -- la tâche Alarm diffuse -- les événements recus Mode := Critical; then abort Compute; -- calcul que lon veut -- interrompre en cas -- dévénement critique end select; end;
Partager