Ich musste letztes Jahr eine Applikation schreiben, welche auf "Pre-Vista" zum Einsatz kommt. Dabei ging es um Embedded-Systeme, welche WinXP-Kompatibel sind. Das mit dem GetTickCount64 war tatsächlich das Einzige was wirklich problematisch war. Ich habe das dann so gelöst:
Delphi-Quellcode:
function TComThread.TickCount64: UInt64;
// simulate GetTickCount64 for "pre Vista OS"
var
TickCount: UInt32;
begin
// disable range check
{$IFOPT Q+}
{$DEFINE QON}
{$Q-}
{$ENDIF}
TickCount := GetTickCount;
FTick64 := FTick64 + (TickCount - FTick32);
FTick32 := TickCount;
Result := FTick64;
{$IFDEF QON}
{$Q+}
{$ENDIF}
end;
Die Applikation läuft nun seit etwa 8 Monaten im Dauerbetrieb auf mehreren System ohne Problem...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)