Hallo, dynamische Arrays gehen bei 0 los, also nicht Size[i+1], sondern Size[i]. Warum packst Du Deine Variablen nicht in die private oder public Section? Globale Variablen sollte man, wenn möglich, vermeiden. Und noch eine Anregung: Schreibe doch die Größe der einzelnen Dateine mit in den Stream, dann kannst Du die xip-Datei auch wieder auslesen, nachdem Du das Programm neu gestartet hast.