Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bei StringListe Listenindex überschreitet das Maximum

  Alt 15. Mär 2013, 15:20
Ich habe das Ganze mal aufgeteilt, so dass keine Speicherlecks mehr entstehen sollten. Ungetestet:
Delphi-Quellcode:
procedure TFrmHpt.ProceedSectionValues(Ini: TIniFile; const Section, IniName: string);
var
  SectionValues: TStringlist;
  i: integer;
  StrippedIniName: string;
begin
  StrippedIniName := ChangeFileExt(ExtractFileName(IniName), '');
  SectionValues := TStringlist.Create;
  try
    Ini.ReadSectionValues(Section, SectionValues);
    for i := 0 to SectionValues.Count - 1 do
      TransferToDB(StrippedIniName, Section, SectionValues.Names[i]);
  finally
    SectionValues.Free;
  end;
end;

procedure TFrmHpt.ProceedSections(Ini: TIniFile; const IniName: string);
var
  Sections: TStringlist;
  i: integer;
begin
  Sections := TStringlist.Create;
  try
    Ini.ReadSections(Sections);
    for i := 0 to Sections.Count - 1 do
      ProceedSectionValues(Ini, Sections[i], IniName);
  finally
    Sections.Free;
  end;
end;

procedure TFrmHpt.EditingInis(IniPfade: TStrings);
var
  i: integer;
  ini: TIniFile;
begin
  for i := 0 to IniPfade.Count - 1 do
    begin
      Ini := TIniFile.Create(IniPfade[i]);
      try
        ProceedSections(Ini, IniPfade[i]);
      finally
        ini.Free;
      end;
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (15. Mär 2013 um 15:37 Uhr)
  Mit Zitat antworten Zitat