Ich habe mir gerade folgendes für die Execute überlegt (ungetestet).
Müsste nur dann im Hauptprogramm wenn erforderlich die Variablen "von", "bis" und "check" setzen.
Während meine 5000 (hier jetzt repeat/until) abgearbeitet werden, wird ja geprüft ob vorzeitig ein anderer Zahlen-Abschnitt gebraucht wird. Man muss nur schauen, dass man keine i-Zahl auslässt und eigentlich schon abgearbeitete nicht mehr erneut abgearbeitet werden.
Code:
repeat
i = i +1;
if check = true then
begin
if isave = -1 then
begin
isave = i;
i = von;
end;
end;
daten[i]...
if check = true then
begin
if i = bis then
begin
i := isave;
check := false;
end;
end;
if i=5001 then ok := true;
until ok=true
Kann ich die Variablen "von", "bis" und "check" einfach setzen?
So vielleicht:
Code:
type
TThread1 = class(TThread)
private
von,bis : integer;
check : boolean;
public
procedure Execute; override;
end;
Und im Hauptprogramm, während der Thread läuft dann irgendwo wenn gewünscht einfach...
Code:
Thread1.von := 50;
Thread1.bis := 100;
Thread1.check := true;
Michael