我正在尝试从Delphi 6迁移到Delphi 2010,但我在Delphi 2010中找不到GetTickCount
函数。我有IdGlobal
,SysUtils
和DateUtils
在我的使用条款中。
var
RefreshTick : Cardinal;
begin
RefreshTick := GetTickCount;
end;
它给了我一个错误:
未声明的标识符:GetTickCount
有什么替代方案?
答案 0 :(得分:8)
GetTickCount
功能是Windows部门的一部分。
答案 1 :(得分:6)
正如您发现的那样,您使用的GetTickCount
功能由IdGlobal部门提供。它与Windows API函数同名。 您正在使用的功能现在命名为Ticks
。将Windows添加到您的uses子句以获取API函数,或者将代码更改为使用新名称。
2004年的某个时候看起来名称发生了变化。你应该努力让你的Indy图书馆保持最新状态。不要只使用Delphi附带的版本 - 它甚至可能在您获得它之前已经过时了。始终从Indy的源代码管理中下载最新版本。
答案 2 :(得分:0)
GetTickCount
不依赖于Delphi的版本,因为它是一个WinAPI函数,它也必须在Delphi 2010中,也在Delphi XE和XE2中。
编辑:将Windows单位添加到您的使用部分。
答案 3 :(得分:0)
使用Lazarus 1.0.12,下一个命令在windows中正常工作:
使用...... Windows ...
这是代码:
Var
initialtime, elapsedtime: DWord;
.
begin
.
initialtime := Windows.GetTickCount;
.
elapsedtime := Windows.GetTickCount - initialtime;
WriteLn( 'Time elapsed: ' + IntToStr(elapsedtime) + ' miliseconds');