Deine Save-Procedure ist ziemlicher Käse.
(ich bin da etwas direkt; bitte nicht falsch verstehen)
1. Fehler:
das ist keine Procedure die in eine Library gehört, sondern es sollte eine Methode der Klasse TForm1 sein
2. Fehler:
alles ist in einem Block - nicht gut.
Abspeichern benötigt 3 Schritte a) Dateiname im Dialog erfragen b) abspeichern c) neuen Status anzeigen
Diese 3 Schritte sollte man sauber trennen und ggf eigene Funktionen/Methoden vorsehen.
3. Fehler:
Freigeben einer Komponente die automatisch von der
VCL erzeugt wurde.
Form1.SaveDialog.Free;
<- das ist natürlich tötlich, weil die SaveDialog-Komponente beim 2. Mal zerstört ist und der Zeiger in SaveDialog auf ungültiger Speicher zeigt.