Also eine Threadsave Queue verwenden in die Du die einzelnen File-Record-Classen rein pumpst...
Am besten die Klasse als TFileData = Class(TInterfacedObject,ICanHandeFileData)
aufbauen und nur die Interfaces in die Queue packen...
Dann können sich N-Thread daraus bedienen und brauchen einfach nur das Interface los zu lassen...
Da die Klasse referenzcounted ist, ist auch Dein Speicher wieder sauber...
Klingt wie threadsaver FiFo-Stack gibt's so etwas oder muß man da selbst Hand anlegen?
Gruß
K-H