löschen IMMER rückwärts, wenn man eine For-Schleife nutzt.
Delphi-Quellcode:
for I := lStringsDiscription.Count - 1 downto do
begin
lInifile.DeleteKey(inSSCategory, lStringsDiscription[i] );
end;
0 - nicht löschen
1 - löschen
2 - nicht löschen (ja, du siehst richtig)
3 - Fehler, weil gibt es nicht
denn wenn du etwas löschst, dann rückt alles Nachfolgende nach vorne
Code:
0 0 -
1 [s]2[/s] //
2 [s]3[/s] -
außerdem Merkt sich Delphi das schleifen Ende am Anfang, so daß es von der nun körzeren Liste nix weiß und auch den "letzten" nun nicht mehr existierenden Index verarbeiten will