Met behulp van een programma moeten een aantal bestanden worden gecontroleerd. Dit programma wordt elke nacht in een batch gedraaid en moet na een x-aantal seconden worden afgesloten. Het programma bestaat uit slechts 1 formulier. Om het programma te sluiten heb ik de volgende code gebruikt.
Ik weet alleen niet bij welk event ik deze code het beste kan plaatsen. Ik heb deze code geplaatst bij de volgende events van het formulier:
- OnPaint
- OnShow
- OnCreate
Wanneer ik deze code echter in de bovengenoemde events stop, wordt het formulier nooit zichtbaar. Het formulier blijft 20 seconden op de achtergrond draaien (nl. 20 keer een commando Sleep()) en sluit daarna automatisch. Ik wil dat het formulier echter de volle tijd voor de gebruiker zichtbaar is en daarna wordt gesloten. Hoe kan ik dit het beste oplossen?
BTW. Ik draai het programmaatje op een P4 1,8 Ghz. Dit heeft dus weinig tot niets met de systeemeisen van de computer te maken.
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
| var intAantalseconden: integer; begin intAantalseconden := 5; while (intAantalseconden >= 1) do begin intAantalseconden := intAantalseconden -1; lblResterendetijd.Caption := 'Dit programma wordt binnen ' + IntToStr(intAantalseconden) + ' seconden afgesloten.'; progressbar1.StepBy(5); Sleep(1000); end; frmEditBlackboardfiles.Close; end; |
Ik weet alleen niet bij welk event ik deze code het beste kan plaatsen. Ik heb deze code geplaatst bij de volgende events van het formulier:
- OnPaint
- OnShow
- OnCreate
Wanneer ik deze code echter in de bovengenoemde events stop, wordt het formulier nooit zichtbaar. Het formulier blijft 20 seconden op de achtergrond draaien (nl. 20 keer een commando Sleep()) en sluit daarna automatisch. Ik wil dat het formulier echter de volle tijd voor de gebruiker zichtbaar is en daarna wordt gesloten. Hoe kan ik dit het beste oplossen?
BTW. Ik draai het programmaatje op een P4 1,8 Ghz. Dit heeft dus weinig tot niets met de systeemeisen van de computer te maken.