Ну да, если поток и сам "знает" когда ему завершится, а если нет то надо крутиться в цикле типа while not Terminated do ... и когда Terminate будет вызван произойдет завершение потока. ЗЫ Рад что мы поняли друг друга
http://dump.ru/file/4779742 при 1 потоке все ок... а при двух выдает ошибку.. в чем проблема? исходники выше выложил.
AssignFile(f, filename); ReWrite(f); Эти методы не допускают параллельных вызовов. Заверни в критическую секцию и все будет ОК. Code: EnterCriticalSection(FileLock); try AssignFile(f, filename); ReWrite(f); CloseFile(f); finally LeaveCriticalSection(FileLock); end; Добавь в глобальные переменные FileLock: RTL_CRITICAL_SECTION; В OnCreate формы InitializeCriticalSection(FileLock); В OnDestroy Формы DeleteCriticalSection(FileLock); И еще. Rewrite перезаписывает файл, если нужно дописывать - юзай Append