ich habe eine VB-6 Form welche mit beim Start einen Code ausführt (Form_Load). Ich möchte die darin enthaltenen Daten laufend aktualisieren (z.B Zeit,…). Wie kann ich eine Form laufend aktualisieren oder noch besser, wie kann so etwas in „Echtzeit“ ablaufen?
Du baust die Timer.ocx ein. Stellst den Timer so ein wie oft es aktualliesiert werden soll (pro millisec) und fügst in Timer1.timer() die Zeile form1.load() ein bzw. den aktualliesierungscode.
Für eine automatische aktuallisierung wäre es hilfreich zu wissen was der Code genau macht.
Vergesst den Timer. Das Ding ist viel zu ungenau, und es kommt auch oft genug vor, daß er Aussetzer hat. Und die zu häufige Verwendung von doevents lähmt eure Programme.
Windos unterstützt aber auch einen multimedia-timer, der selber wieder einen sehr hoch auflösenden Systemcounter (0,0083ms) benutzt.
Verwendung
In die form:
public const TIME_ONESHOT = 0
public const TIME_PERIODIC = 1
declare function timeKillEvent …
declare function timeSetEvent …
public FID as long
’ Deklarieren der Callback-Prozedur
Sub TimeCallback (TimerID%, Msg%,dwUser&,dw1&,dw2&:wink:
'Hier den Verarbeitungscode einfügen
'Von den Rückgabewerten ist nur
'TimerID interessant
'Achtet genau auf die Typen
End Sub
braucht man beim Timer nur bei sehr kurzen Intervallen
Windos unterstützt aber auch einen
multimedia-timer, der selber wieder einen
sehr hoch auflösenden Systemcounter
(0,0083ms) benutzt.
schönes Ding aber ich habe erst bei einer aktuallisierung von 1ms einen Unterschied gemerkt, bei 1000ms war bei beiden die Systemauslastung auf 1%. Für Uhren die nur in Sekundenabständen ziehe ich persönlich den Timer vor.
schönes Ding aber ich habe erst bei einer
aktuallisierung von 1ms einen Unterschied
gemerkt, bei 1000ms war bei beiden die
Systemauslastung auf 1%. Für Uhren die
nur in Sekundenabständen ziehe ich
persönlich den Timer vor.
Ja, doch das gute an dem Timer ist, das er auch dann weiterläuft, wenn man z.B. die Form verschiebt oder größer/kleiner macht usw.