In *.ini schreiben erzeugt Zugriffsverletzung

Chronix

Erfahrenes Mitglied
Code:
var ini : TIniFile;
    i : Integer;
    bearbeiten, auszug : String;
...
...
...
...
bearbeiten:= Sessions;
ini:= TIniFile.Create(IniPath + 'verbindungen.ini');
while ( length(bearbeiten) >= 0 ) do
   begin
   auszug:= copy(bearbeiten,1,10);
   delete(bearbeiten,1,10);
   i:= ini.ReadInteger('Verbindungen',auszug,0);
   if ( i > 0 ) then i:= i - 1;
   ini.WriteInteger('Verbindungen',auszug,i);
   end;
ini.free;

In der ini Datei stehen meine SessionID`s und dazu wird ihnen eine Nummer zugeordnet!
Im String "Sessions" stehen alle SessionID`s (sind alle 10 zeichen lang) hintereinander!
Ich wollte jetzt aus dem String jede SessionID auslesen, dann lese ich aus der *.ini nach welche Numemr zugeordnet ist, verkleinere die Nummer um 1 und schreibe sie neu hinein!

Mein Problem ist jetzt allerdings, dass ich irgendwann nach dem ersten Schleifendurchlauf eine Zugriffsverletzung habe!
Kann mir irgendjemand sagen wodran das liegt?
 
Verwende doch einmal den Debugger und Steppe Schritt für Schritt durch das Programm.

Dann kann man den Fehler etwas besser eingrenzen.

vop
 
Danke für die Antwort!
Allerdings lag es nur an dem "=" Zeichen in der for-Schleife!
Dadurch habe ich auf ein nicht existentes Array-Element zugegriffen!
 

Neue Beiträge

Zurück