1. richtig
2. richtig
3. möglich, geht aber besser
Es gibt zwar TMemoryStream.LoadFromFile, der lädt aber die gesamte Datei in den Arbeitsspeicher. Solange die Datei kleiner als etwa 1,9 GB ist, geht das noch gut, ansonsten EOutOfMemory. Ich würde hier einen FileSteam zum Lesen und einen zum Schreiben verwenden und dann mit
TFileSteam.CopyFrom arbeiten.