|
| Timer spørgsmål Fra : L. Hansen |
Dato : 25-01-01 11:21 |
|
Hej
Jeg bruger VB5 Enterprise på Win9x.
Jeg er blevet lidt i tvivl om hvordan Timer-funktionerne virker i følgende:
(Form Load)
For Index1 = 1 to 25
Timer1(Index1).Enabled = True
Timer1(Index1).Interval = 10000
Next
Timer21.Enabled = True
Timer21.Interval = 10000
Timer2.Enabled = True
Timer2.Interval = 60000
(Form Load - slut)
....
Timer1_Timer(Index3 As Integer)
Funktion A
Funktion B
Funktion C
End
Timer21_Timer
Funktion D
Funktion E
End
Timer2_Timer
Funktion F
Funktion G
Funktion H
Funktion I
Funktion J
End
....
Mit enkle spørgsmål er:
Når en af ovennævnte Timere kaldes, gør den så alle sine funktionskald
færdige ?
Selvom betingelsen for at en af de øvrige Timere fakstisk skal startes.
På forhånd tak.
Mvh, L. Hansen
webmaster@dancar.dk
| |
Tomas Christiansen (25-01-2001)
| Kommentar Fra : Tomas Christiansen |
Dato : 25-01-01 12:59 |
|
L. Hansen skrev:
> Jeg er blevet lidt i tvivl om hvordan Timer-funktionerne virker i
følgende:
Timer-events bliver først udført, når der ikke er andet at lave.
Med andre ord, vil følgende kode effektivt forhindre ethvert timer-event
(eller andre events for den sags skyld) i at blive udført:
Loop
Until False
Hvorimod følgende kode lader diverse events blive udført:
Loop
DoDvents
Until False
-------
Tomas
| |
L. Hansen (25-01-2001)
| Kommentar Fra : L. Hansen |
Dato : 25-01-01 13:27 |
|
Hej
Tak for dit hurtige svar.
Hvis jeg nu vender mit spørgsmål:
Hvordan kan jeg sikre mig at Timer2_Timer får "lov" til at udføre sin kode
færdig ????
Med venlig hilsen
LH
webmaster@dancar.dk
"Tomas Christiansen" <toc@blikroer.dk.removethis> skrev i en meddelelse
news:PxUb6.109$_N1.6756@news.get2net.dk...
> Timer-events bliver først udført, når der ikke er andet at lave.
>
> Med andre ord, vil følgende kode effektivt forhindre ethvert timer-event
> (eller andre events for den sags skyld) i at blive udført:
>
> Loop
> Until False
>
> Hvorimod følgende kode lader diverse events blive udført:
>
> Loop
> DoDvents
> Until False
| |
Tomas Christiansen (25-01-2001)
| Kommentar Fra : Tomas Christiansen |
Dato : 25-01-01 22:16 |
|
L. Hansen skrev:
> Hvordan kan jeg sikre mig at Timer2_Timer får "lov" til at udføre sin kode
> færdig ????
Ved ikke at bruge DoEvents!
Hvis du ikke gør brug af DoEvents (eller af anden kode, som gør brug af
DoEvents), vil en timer-event-procedure altid blive kørt færdig inden en ny
timer-event-procedure vil kunne starte.
Hvis dine timer-event-procedurer kører i for lang tid, så der kommer flere
(andre) timer-events undervejs, risikerer du at miste timer-events (dvs. at
de aldrig bliver udført).
-------
Tomas
| |
Stefan Kristensen (31-01-2001)
| Kommentar Fra : Stefan Kristensen |
Dato : 31-01-01 14:36 |
|
> Hvis dine timer-event-procedurer kører i for lang tid, så der kommer flere
> (andre) timer-events undervejs, risikerer du at miste timer-events (dvs.
at
> de aldrig bliver udført).
Medmindre man begiver sig ind på tidstro programmering. Her kan man benytte
nogle flag til at markere netop sådanne hændelser. Hvis det har interesse,
skal jeg prøve at finde mine gamle skoleopgaver frem?
Stefan
| |
Tomas Christiansen (31-01-2001)
| Kommentar Fra : Tomas Christiansen |
Dato : 31-01-01 22:37 |
|
Stefan Kristensen skrev:
> Medmindre man begiver sig ind på tidstro programmering. Her kan man
benytte
> nogle flag til at markere netop sådanne hændelser.
Mig bekendt er da ikke nogen flag i VB6's timere, som kan sikre at alle
events bliver udført - forsinket eller ej.
> Hvis det har interesse, skal jeg prøve at finde mine gamle skoleopgaver
frem?
Tja... Sådan rent teoretisk, ja.
Men ærlig talt så vil jeg hellere vide hvordan det hele virker i VB.NET -
tiden for frigivelsen nærmer sig... (til "sommer"), og jeg er gået i gang
med at se på beta'en.
-------
Tomas
| |
|
|