VB6: Timer und Laufzeit

Hallo,

einige Prozeduren meines Programmes(VB) werden durch Timer aufgerufen.
Zum Beispiel der Art:

Sub Timer1()
call [prozedur1]
call [prozedur2]
call [prozedur3]
End Sub

meine Frage: Wenn die Prozeduren ziemlich gross sind und der Timerintervall ziemlich kurz, sodass die Abarbeitung der Prozeduren vielleicht laenger dauert als das Zeitintervall, was passiert? Werden erst alle Prozeduren abgearbeitet und der Timer ueberspringt ein Intervall oder springt der Timer unverhofft zur ersten Prozedur ohne Abarbeitung der restlichen Prozeduren?

Gibt es eine Möglichkeit die Gesamtlaufzeit des PROGRAMMES oder der PROZEDUREN darzustellen (Direktfenster/Debug oder so) da der Timer ziemlich ungenau bei kleinen Intervallen ist.

Danke für eure Antwort
Bis bald

Raimond

Hallo Raimond,
das mit dem Timer ist so:

lässt Du den Timer auf Enabled=True und dauern die Prozeduren 1 bis 3 gaaaaaaaz laaaange, dann passiert gar nix…
… d.h.: der Timer wird nicht noch einmal aufgerufen…
… ABER VORSICHT: Nur dann, wenn KEIN ‚DoEvents‘-Befehl vorkommt (wenn doch, dann wird wieder der Timer-Event ausgelöst, wenn’s Zeit geworden is’ [kann unter umständen auch gewollt sein])

…also lässt Du einfach DoEvents in den Prozeduren 1 bis 3 weg (auch in keinen Sub-Sub-Funktionen!!!), dann hast Du diese Problem nicht…

…sondern ein anderes:
Meistens wird ja ein Fenster angezeigt. Dieses bleibt bei langen Prozeduren ohne DoEvents unanklickbar bzw. wenn Du ein anderes Programm-Fenster drüberziehst, dann sieht es so aus, als ob Dein Programm-Fenster nicht reagiert/refrescht. (Sieht nicht gerade sehr hübsch aus!!)

In diesem Falle würde ich den Timer zu Beginn auf Enabled=False setzen, die Prozeduren aufrufen (mit DoEvents!!!) und zum Schluß wieder den Timer Enabled=True setzen.

Sub Timer1()

Timer1.Enabled = False

call [prozedur1]
call [prozedur2]
call [prozedur3]

Timer1.Enabled = True

End Sub

greets from MichL (Vienna)

Danke Michael, ich werde es ausprobieren.
Gruss an Wien