Sorry mein Fehler
war wohl schon zu spät für eine Vernünftige Antwort!
Also zu den dynamischen Arrays würde ich dir folgendes empfehlen:
Delphi-Quellcode:
for i := Low(devicearr) to high(devicearr) do
begin
...
end;
Damit bist Du immer auf der sicheren Seite!
Wenn das alles passt ist die nächste Frage natürlich was du in deinem Thread eigentlich machst, denn es könnte sein, dass deine Threads einfach gleich wieder beendet werden (ich nehm mal an WaitCommEvent?)....