Hi Marcel,
es ist nicht sonderlich gut, eine Varieble namens
Name zu haben, da unter Umständen auf
Form.Name zugegriffen werden könnte.
Ich sehe beim Überfliegen einen möglichen Fehler und zwar hier:
Delphi-Quellcode:
LastNr := ini.ReadInteger(Liste, 'LastNr', 0) ;
if Nr > LastNr then
ini.WriteInteger(Liste, 'LastNr', LastNr);
Liste := Edit1.Text;
ini.WriteInteger(Liste, 'LastNr', LastNr);
Wenn die aktuelle Nummer größer ist als
LastNr, aktualisierst du den Wert in der Ini, den du 2 Zeilen später jedoch wieder (in dem Fall mit dem gleichen Wert) überschreibst. In deiner Ini steht also generell der Wert von
LastNr, da diese Zeile immer aufgerufen wird:
ini.WriteInteger(Liste, 'LastNr', LastNr);
Ist das so gewollt?
Wäre es nicht auch sinnvoller, den Ini-Inhalt einzulesen und damit zu arbeiten, als ständig die Datei zu öffnen und zu schließen?
Ich verstehe nicht ganz, wofür du
Sleep aufrufst, aber falls du das brauchst, nutze lieber
Delay, damit deine Anwendung nicht ständig eingefroren ist.