Ich habe mal unseren code auf multithreading umgestellt:
Code:
// ###########################################
// #### Release the threads!! harrr
SetLength(beatDetect, Length(fECGSubTypes));
for thrIdx := 0 to Length(beatDetect) - 1 do
beatDetect[thrIdx] := TBeatDetect.Create(fChannels, fECGSubTypes[thrIdx]);
beatDetect[0].OnProgress := onQrsProgress;
for thrIdx := 0 to Length(beatDetect) - 1 do
beatDetect[thrIdx].Start;
//beatDetect[thrIdx].SyncExecute;
// ###########################################
// #### Do the beat detection
for thrIdx := 0 to Length(beatDetect) - 1 do
beatDetect[thrIdx].WaitFor;