Ich glaube den Fehler nun gefunden zu haben.
Die Race Conditions haben mich zum Nachdenken gebracht was 3rd-Party-Code angeht.
Ich hatte hier noch den SJMmfFileReader (
http://www.delphipraxis.net/151898-s...ei-reader.html) in Verwendung, welcher für diesen Zweck aber nicht geeignet war.
Ich habe alles testweise auf eine normale Stringlist umgestellt und von einer While- auf eine For-Schleife gewechselt > weniger Probleme.
Danach habe ich den kompletten Code in der For-Schleife mit Synchronize umschlossen > noch weniger Probleme. Aber dennoch ab und zu (1 Mal in 3 Versuchen).
Sehr seltsam.
Edit:
ich habe nun allen Code vom zweiten Thread in den Mainthread verpackt.
Sehr komisch manchmal, dass es nicht funktioniert obwohl man alles richtig macht.