Einzelnen Beitrag anzeigen

Benutzerbild von Störtebeker
Störtebeker

Registriert seit: 9. Jul 2007
398 Beiträge
 
#1

CPU-Verbrauch --> Debugger Exception

  Alt 22. Sep 2007, 01:08
Hi,

wollte mit Hilfe eines Timers und einem Label den CPU-Verbrauch meines Programms anzeigen und stoße auf folgendes Problem:

Code für den Timer:

Delphi-Quellcode:
.
.
.
{$R *.dfm}
var
  LastTick : LongWord;
  LastTime : Int64;
  CPUCount : Word;
.
.
.
procedure TForm5.Timer3Timer(Sender: TObject);
Var
  CreationTime,
  ExitTime,
  KernelTime,
  UserTime : TFILETIME;
  TickDelta : LongWord;
  TimeDelta : Int64;
begin
  TickDelta:=GetTickCount() - LastTick;
  Inc(LastTick,TickDelta);

  GetProcessTimes(GetCurrentProcess(),CreationTime,ExitTime,KernelTime,UserTime);
  TimeDelta:=(Int64(KernelTime) + Int64(UserTime)) - LastTime;
  Inc(LastTime,TimeDelta);

  Label15.Caption:=Format('%.1f %%',[TimeDelta / 10000 / CPUCount / TickDelta * 100]);
end;
.
.
.
wenn ich auf Starten drücke, kommt Delphi kurz darauf mit:

Zitat:
Debugger Exception Notification
Project Project1.exe raised exception class EZeroDivide with message "Floating point division by zero". Process stopped. Use Step or Run to continue.
Irgendwie finde ich den Fehler nicht. Ich hoffe sehr auf eure Hilfe.

mfG
Störtebeker

P.S.: Ohne den Code funzt das Programm. Also muss der Fehler im Code des Timers liegen.
"And he piled upon the whale´s white hump - a sum of all the rage and hate felt by his whole race.
If his chest had been a cannon, he would have shot his heart upon it."
  Mit Zitat antworten Zitat