Autor Beitrag
reddevil
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: So 08.12.02 00:34 
also erstmal habe ich die folgende procedure

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure Delay(ATime: Cardinal); 
var Start: Cardinal; 
begin 
  Start := GetTickCount; 
  repeat 
    Application.ProcessMessages; 
  until GetTickCount - Start > ATime; 
end;


delay is also wie sleep nur das der programm "weiterläuft"

so jetzt hab ich

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure test; 
var a:integer; 
begin 
  ... 
  some stuff 
  ... 
  delay(30000); 
  ... 
  some stuff 
  ... 
end;


die procedure test wird aufgerufen .. es wird mit variable a gearbeitet .. dann kommt irgendwo delay(30000) in der procedure test.
was passiert nun wenn die procedure während des wartens erneut aufgerufen wird?

plz help

//red
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: So 08.12.02 01:38 
Nun, ich würde mal vermuten, daß eine weitere Instanz von Delay aufgerufen wird. Also das Programm 2x Wartet.
Bei rekursiven Funktionsaufrufen passiert ja was ähnliches, nur daß sich dort eine Funktion selber nochmal aufruft.

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
reddevil Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: So 08.12.02 01:43 
das die funktion delay ein zweites mal geht dabei hab ich kaum sorge...
mein problem ist eher was passiert mit der variablen a wenn es sie dann "2mal gibt" .. und vor allem wird der lauf der zuerst gestarteten procedure test ungestört durch den zweiten Aufruf der procedure fortgesetzt?