Copying large files makes app my unresponsive

I’m trying to ingest video files to a NAS. Some of them are very large (maybe several GB’s).
The app I’m creating gets unresponsive as soon as the copy starts but recovers nicely when the copy stops.
I’m wondering if my approach is wrong. Should I send the job to another (console) app or a shell or…?

In a window I’m having a timer with a period of 1000 updating a progress bar and this is the code in the thread that does the job:

[code]For i As Integer = 0 to Self.FilesToCopy

//We will get an error 80 if the file already exists so we will add the current time to the name
If SelectedFiles(i).LastErrorCode = 80 Then

Dim OldName, NewName, Extension, OldNameNoExtension, time  As String
Dim n As Integer
Dim d As New Date
Dim f As FolderItem

OldName = SelectedFiles(i).Name
n = CountFields(OldName, ".")
Extension = NthField(OldName, ".", n)
OldNameNoExtension = Left(OldName, OldName.Len - Extension.Len + 1)

time = ReplaceAll(d.SQLDateTime, ":", "_")

NewName = OldNameNoExtension + "_" + time + "." + Extension 

f = GetFolderItem(CurrentFolder.NativePath + NewName)

If f <> Nil Then
End if

End if

Self.FilesCopied = i


If Self.CancelCopyThread = True Then
End if

The MBS plugins contain file copy functions which yield time when running in threads.
Otherwise, the shell or a separate app will have to be used.

Thanks Kevin :slight_smile: