Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.631 Beiträge
Delphi 12 Athens
|
AW: Bei StringListe Listenindex überschreitet das Maximum
15. Mär 2013, 16: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 16:37 Uhr)
|