Also, hier der Text des Threads:
Delphi-Quellcode:
procedure Mythread.Execute;
var
fehlerzaehler:integer;
instream,weitergabe:tArray;
begin
SetName;
fehlerzaehler:=0;
setlength(instream,0);setlength(instream,c_laen);
setlength(weitergabe,0);setlength(weitergabe,c_laen);
while not terminated do begin
if UsbParIn(c_DevNum,instream,c_laen) then begin
fehlerzaehler:=instream[0];
weitergabe:=instream;
//DarstThread.Resume;
end
else begin
inc(fehlerzaehler);
if fehlerzaehler=3 then begin
Synchronize(Neu_beginnen); //hauptform benachrichtigen
end;
end;
{ Thread-Code hier einfügen }
end;
ReturnValue:=3;
end;
Ich hab jetzt FreeOnterminate:=true gesetzt. Und create nen neuen Thread, wenn die Messung/der Thread wieder aufgenommen werden sollen.
Seht ihr noch ne andere Möglichkeit den Thread am Ende der Schleife zu unterbrechen und von dort wieder loslaufen zu lassen?