Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Tag-Benutzung in einer Schleife

  Alt 23. Sep 2005, 13:49
Hi,

Ich habe folgendes Problem:
In einer Funktion will ich etwas in eine Zeile eines Stringgrids schreiben. Diese Funktion rufe ich mehrmals hintereinander in einer for-Schleife auf. Um mir zu merken, in welche Zeile die Funktion schreiben soll, erhöhe ich nach dem die Funktion in eine Zeile geschrieben hat, den Tag des Grids.

Der Code sieht etwa so aus:

Delphi-Quellcode:
Procedure schreiben(var sg: tStringgrid);
var
tag: byte;
i: byte;
begin

i:= random(5);

tag:= sg.tag;

 with sg do
 begin
 foo;
 cells[0,tag]:= inttostr(i);
 end;

sg.tag := sg.tag+1;
{sleep(50});

end;

// Der Aufruf:

for i:=0 to 5 do
begin
schreiben(sg1);
{showmessage(inttostr(i))};
end;
Wenn ich diesen Code ausführe, stehen immer die gleichen Zahlen in den verschiedenen Zellen (kein Zufall). Führe ich das showmessage aus, sind es unterschiedliche Zahlen.
Lasse ich nur das sleep ausführen, steht von sleep(0) bis sleep(20) die gleiche Zahl in den Zellen, ab sleep(50) wieder unterschiedliche.

Kann mir da jemand helfen? Irgendwie sieht es so aus, als ob das Erhöhen des Tags nur verzögert oder gar nicht wirkt...
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat