Hello, personally I use this 64 bit emulation:
var CurrentIncrement:Int64=0; LastTickCount:Int64=0; function TGGetTickCount64:Int64; begin {$ifdef CPUX64} Result:=GetTickCount64; {$else} Result:=GetTickCount+CurrentIncrement; if Result<LastTickCount then begin Inc(Result,Int64($100000000)); Inc(CurrentIncrement,Int64($100000000)); // only 99.999999% thread safe but good enough for me end; {$endif} LastTickCount:=Result; end; Kind Regards, Tobias Giesen ---- On Wed, 11 Apr 2018 12:25:16 +0200 Luca Olivetti <l...@ventoso.org> wrote: > El 11/04/18 a les 10:06, Luca Olivetti ha escrit: > > > > BEFORE (with gettickcount): > > > > ---------------------------------------------------------------------- > > var PreviousTick:DWORD; > > > > ... > > PreviousTick:=GetTickCount; > > ... > > ... if DWORD(GetTickCount-PreviousTick)>WaitTime then.... > > > BTW, the DWORD typecast is only necessary with fpc, the following > program gives 4 and 4 if compiled with delphi 2, 4 and -4294967292 if > compiled with fpc 3.0.4 > > > program project1; > > uses > windows; > > var t1,t2,t3:dword; > begin > t1:=$fffffffe; > t2:=2; > t3:=t2-t1; > writeln(t3); > writeln(t2-t1); > end. > > > -- > Luca > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal Kind Regards, Tobias Giesen Super Flexible Software Ltd. & Co. KG Buddenstr. 29-31 48143 Münster, Germany www.superflexible.com www.tgtools.com ----------------------------------------------------------- Registered at register court Münster as HRA 9716 Liability / general partner: TGTools Ltd. Company No. 05513299 Registered in England and Wales Directors: Tobias Giesen and Claudia Giesen _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal