Hi,
ich bekomme beim Aufruf der folgenden Funktion immer die Meldung "Listindex überschreitet das Maximum":
Delphi-Quellcode:
function GetAllCookies:TMozCookies;
var
Cookies: TStringList;
Line, len: Integer;
tempcookies: TMozCookies;
begin
//if cookie file does exist
if FileExists(CookieFile) then
begin
//load the file
Cookies := TStringList.Create;
Cookies.LoadFromFile(CookieFile);
//get every cookie
for Line := 0 to Cookies.Count -1 do
begin
//delete comments and empty lines
if pos('#', Cookies.Strings[Line]) > 0 then
begin
Cookies.Delete(Line);
end
else if Cookies.Strings[Line] = '' then
begin
Cookies.Delete(Line);
end
else
begin
len := Length(tempcookies);
SetLength(tempcookies, len + 1);
tempcookies[len] := CreateMozCookie(Cookies.Strings[Line]);
end;
end;
Cookies.Free;
Result := tempcookies;
end;
end;
CookieFile ist eine String-Variable mit einen Dateipfad.
CreateMozCookie gibt einen Record zurück. siehe
http://www.delphipraxis.net/internal...ct.php?t=97413
Der Aufruf geschieht so:
Delphi-Quellcode:
procedure Tfrm_MozCookie_Demo.btn_refreshClick(Sender: TObject);
var
mc: TMozCookies;
i: Integer;
begin
lst_cookies.Clear;
mc := GetAllCookies;
for i := 0 to Length(mc) -1 do
begin
Lst_cookies.Items.Add(mc[i].domain);
end;
end;
Schaut euch mal eure cookies.txt von Firefox an. Da sind ganz oben 4 Zeilen mit Kommentaren und 1 leere Zeile. Die möchte ich entfernen und eben anschließend die Records den Array of Record zuweisen. Aber es wird nur ein Kommentar entfernt, die anderen bleiben erhalten.
Wieso? Und warum bekomme ich "Listindex überschreitet das Maximum"????