GPI hat geschrieben:Der Nachteil von Danilos code ist, das die Priorität des eigenen
Prozesses hochgesetzt wird.
ROFLMAO...
Ich wußte garnicht das Du so lustig sein kannst, GPI.
Der Code ist aus einem Beispiel von mir, wo ich das mit dem
Timing erklärt habe.
Du brauchst also nur die 1 Zeile herausnehmen, wo die
Priorität geändert wird. Ich rechne eig. damit das ein
Programmierer selbst auf sowas kommt - allerdings muß
man dazu den Code verstehen und mal die Doku dazu lesen.
Nochmal für Dich geändert:
Code: Alles auswählen
Procedure InitElapsedMilliseconds()
Shared _GT_DevCaps.TIMECAPS
timeGetDevCaps_(_GT_DevCaps,SizeOf(TIMECAPS))
timeBeginPeriod_(_GT_DevCaps\wPeriodMin)
EndProcedure
Procedure EndElapsedMilliseconds()
Shared _GT_DevCaps.TIMECAPS
timeEndPeriod_(_GT_DevCaps\wPeriodMin)
EndProcedure
Procedure GetElapsedMilliseconds()
ProcedureReturn timeGetTime_()
EndProcedure
Das ganze in eine Timer-Lib, und die Init- und End-Funktion
wird automatisch aufgerufen.
Das Init und End ist absolut notwendig um die kleinstmögliche
Auflösung einzustellen, sonst funktioniert es nicht auf jedem
PC gleich (ich spreche da aus Erfahrung).