Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#5

Re: schleife will einfach nicht.

  Alt 3. Mär 2008, 18:24
hm ich habs zwar nicht in delphi kompiliert aber guck dir mal deine schleife an:

Delphi-Quellcode:
procedure SchleifenThread.Execute;
var
i:integer;
begin
while i = 0 do
  begin
   Synchronize(UpdatePing);
   Delay(2000);
   Synchronize(UpdatePong);
  end;
end;
Was passiert? Es macht Ping, dann schläft er 2 sekunden, dann macht es Pong und sofort danach wieder Ping. Bau mal nach dem UpdatePong noch mal ein delay(2000) ein.
Dann solltest du nicht while i=0 setzen sondern besser while not terminated.


Apropos delay(2000): Das is ja ne riesige Funkiton...wäre es nicht einfacher, sleep(2000) zu benutzen

Als im grunde sollte das meiner meinung nach so aussehen:

Delphi-Quellcode:
procedure SchleifenThread.Execute;
begin
while not terminated do
  begin
     Synchronize(UpdatePing);
     sleep(2000);
     Synchronize(UpdatePong);
     sleep(2000);
  end;
end;

Grüße
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat