Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Code:
TTiming =object
CZ :array[0..10]of tlargeinteger;
N1,N2 :array[0..10]of tlargeinteger;
procedureReset(N:integer);
functionRead(N:integer):extended;
end;
procedure TTiming.Reset(N:integer);
begin
queryperformancefrequency(CZ[N]);
queryperformancecounter(N1[N]);
end;
function TTiming.Read(N:integer):extended;
begin
queryperformancecounter(N2[N]);
result:=(N2[N]-N1[N])/CZ[N];
end;
Ich benutze dieses Objekt zur Zeitmessung!
Es funktioniert auch... meistens Wenn ich es in der Deklarationsreihenfolge jedoch verschiebe, kann es passieren, dass es nicht mehr funktionier...
Ich kann es also an zwei Stellen im Selben Programm deklarieren, an der einen Funktioniert es und an der anderen gleichzeitig(!) nicht (es gibt dann bei read(n) immer NAN als result und die Arrays sind alle mit 0 belegt...). Hierbei ist es nicht relevant, ob ich es in einer procedure oder sonnst wo deklariere.
Fiktives Beispiel:
Code:
Var
Time: ttiming;
X:single;
Begin
Funktioniert,
Code:
Var
X:single;
Time: ttiming;
Begin
Funktioniert nicht
Ist dass ein Problem mit den int64 Variablen oder so???
(Ob ich tlargeinteger oder int64 schreibe spielt keine rolle)
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.