![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюк с QueryPerformanceFrequency
PavDimka © (2010-08-09 14:18:00)
program Project2;
uses
Windows, SysUtils, Dialogs;
Type
TTimeParams = Packed Record
Frequency: Int64;
End;
TTimeClass = Class
Strict private
FTimeParams : TTimeParams;
Public
Function GetFrequency: Int64;
Function GetFrequencyEx: Int64;
End;
var
TimeClass: TTimeClass;
TimeParams: TTimeParams;
Frequency: Int64;
{ TTimeClass }
function TTimeClass.GetFrequency: Int64;
begin
QueryPerformanceFrequency(FTimeParams.Frequency);
Result := FTimeParams.Frequency;
end;
function TTimeClass.GetFrequencyEx: Int64;
var
Temp: Int64;
begin
QueryPerformanceFrequency(Temp);
FTimeParams.Frequency:= Temp;
Result := FTimeParams.Frequency;
end;
begin
TimeClass := TTimeClass.Create;
{ 1 }
QueryPerformanceFrequency(Frequency);
Showmessage('Тест 1 = ' + FloatToStr(Frequency));
{ 2 }
QueryPerformanceFrequency(TimeParams.Frequency);
Showmessage('Тест 2 = ' + FloatToStr(TimeParams.Frequency));
{ 3 }
Showmessage('Тест 3 = ' + FloatToStr(TimeClass.GetFrequency));
{ 4 }
Showmessage('Тест 4 = ' + FloatToStr(TimeClass.GetFrequencyEx));
TimeClass.Free;
{ Результаты процедуры вывода сообщений
Тест 1 = 2748115
Тест 2 = 2748115
Тест 3 = 0
Тест 4 = 2748115
И непонятно с чем связан.
RAD Studio 2010, Windows 7
}
end.
PavDimka (2010-08-09 14:21:00) [21]Сижу и удивляюсь.
Никак понять не могу, что же не так?