Ich würd's mal damit probieren:
ini := TMemIniFile.Create(ExtractFilePath ( application.ExeName ) + '\testdatei.txt');
Warum bitteschön zuerst eine INI-Datei in einen Stream laden, diesen dann in eine Stringliste kopieren, um diese dann im Speicher in eine leere INI-Datei zu bekommen (oder so ähnlich).
Bitte was hast Du genau vor, so erscheint mir das erstmal nicht so zwingend ersichtlich
Ansonsten müsstest Du die bereits "vorwärts" gemachten Schritte nochmal "rückwärts" machen:
Delphi-Quellcode:
FileStream1.Free;
STL1.Clear;
STL1.AddStrings(ini);
FileStream2 := tfilestream.Create( ExtractFilePath ( application.ExeName ) + '\testdatei.txt' , fmOpenReadWrite);
STL1.SaveToStream(FileStream2);
FileStream2.Free;
STL1.Free;
ini.free;
Oder irgendwie so ähnlich. Sinnvoll erscheint mir das momentan noch nicht, was genau hast Du vor?