Навскидку:
1.
Stream2 := TFileStream.Create('Temp.tmp', fmCreate, fmOpenWrite);
->
Stream2 := TFileStream.Create('Temp.tmp', fmCreate);
2.
InFile.Destroy;
->
InFile.Free;
3. Вообще, у тебя что-то мудренно все делается. Во первых, можно не создавать файл, а использовать поток в памяти - TMemoryStream. И во вторых - незачем переписывать файл кучу раз, найди готовый алгоритм расчета crc32, который будет нормально работать с потоками.
|