Oto kod:
ShowMessage('przed'); //dzięki emu wiem że mi się wysypuje na następnej linijce
kopiujZFile:=TFileStream.Create(GetCorrectPath(listaPlikowWe[i]),fmOpenRead);
ShowMessage('w trakcie');
kopiujDoFile:=TFileStream.Create(GetCorrectPath(kopiujDoStr+'\'+listaPlikowWy[i]),fmCreate);
ShowMessage('po');
Za pomocą tych ShowMessage'ów sprawdzałem gdzie dokładnie sie wysypuje.
Funkcja GetCorrectPath to taki mój bajer wywalający ze ścieżki nadmiarowe znaki "\" i poprawiający ściezki podobnie jak ExpandUNCFileName. Nie ma na pewno błędu w tej funkcji bo jeśli kod wygląda tak:
ShowMessage('przed');
kopiujZFile:=TFileStream.Create(listaPlikowWe[i],fmOpenRead);
ShowMessage('w trakcie');
kopiujDoFile:=TFileStream.Create(kopiujDoStr+'\'+listaPlikowWy[i],fmCreate);
ShowMessage('po');
to też pokazuję sie Access Violation.