# Een programma uitvoeren en stoppen [Programmeergidsen](LEESMIJ.md) Gewone initialisatie wordt in bronvolgorde uitgevoerd. `wanneer` registreert scripts voor de volgende coöperatieve fase. Gestarte scripts, eenmalige timers en berichten volgen de regels uit paragraaf 5.9. Normaal eindigt een programma als er geen klaarliggende of slapende scripts meer zijn, tenzij blijvende toets-/aanwijzerscripts op invoer wachten. `sluitApp()` beëindigt het hele programma onmiddellijk met succes, ook vanuit een geneste functie, lus of gebeurtenis. In [IDE](../begrippen/ontwikkelomgeving.md)/browser eindigt alleen de programmasessie; de preview blijft beschikbaar. Een native grafisch programma dat gewoon zijn laatste opdracht bereikt, bewaart het beeld tot het venster wordt gesloten. `sluitApp()` vraagt juist de host om normaal af te sluiten. `geef` verlaat één functie. IDE Stop is externe coöperatieve annulering en geen Pliro-syntaxis. Geen van deze vormen voegt een productlicentiecontrole aan de gegenereerde applicatie toe. Positieve `wacht` en voltooide invoervragen zijn coöperatieve controlepunten. Ze houden Stop en hostgebeurtenissen bruikbaar en beginnen een nieuw instructiebudgetdeel. Wachten in een gebeurtenisscript parkeert alleen dat script. `zendBericht` plant passend werk in en geeft de scheduler een beurt. Plaats een blijvende animatielus in `wanneer gestart():` wanneer andere gebeurtenisscripts tijdens die lus moeten kunnen reageren. ```pliro # taal: nl wanneer gestart(): zolang waar: als toetsIngedrukt("space"): sluitApp() # Werk één beeld bij. wacht(0.04) ``` ## Gerelateerde lemma’s [Syntaxis en waarden](../syntaxis/LEESMIJ.md) · [Ingebouwde functies](../ingebouwde-functies/LEESMIJ.md) · [Programmeergidsen](LEESMIJ.md)