Hallo
Ich nutze den Code aus der Code-Library um Cookies, Verläufe usw zu löschen
Delphi-Quellcode:
uses
WinInet;
[...]
procedure TForm1.Cookies1Click(Sender: TObject);
var
icei : PINTERNETCACHEENTRYINFO;
dwSize : DWord;
hSearch : DWord;
begin
CheckListBox1.Items.BeginUpdate;
CheckListBox1.Items.Clear;
dwSize := 65536;
icei := AllocMem(dwSize);
try
hSearch := FindFirstURLCacheEntry('visited:',icei^,dwSize);
if hSearch = 0 then
begin
ShowMessage(SysErrorMessage(GetLastError)+' '+IntToStr(dwSize));
exit;
end;
while hSearch <> 0 do
begin
Application.ProcessMessages;
CheckListBox1.Items.Add(icei^.lpszSourceUrlName);
dwSize := 65536;
if not FindNextURLCacheEntry(hSearch,icei^,dwSize) then
begin
hSearch := 0;
end;
end;
finally
FreeMem(icei,65536);
CheckListBox1.Items.EndUpdate;
end;
end;
procedure TForm1.Lschen1Click(Sender: TObject);
var
i : integer;
begin
for i := 0 to CheckListBox1.Items.Count-1 do
begin
if CheckListBox1.Checked[i] then
begin
DeleteURLCacheEntry(PChar(CheckListBox1.Items[i]));
end;
end;
Cookies1.Click;
end;
Wenn aber (wie ich glaube) sehr viele Cookies, Verläufe usw vorhanden sind
kommt die Fehlermeldung Systemressourcen erschöft, falscher Parameter und
Handle falsch
liegt das jetzt an dwSize := 65536 ist der zu klein bemessen?
muß ich den grösser setzen oder kann ich ihn so setzen das er sich nimmt was er braucht.
Oder wie gross darf der den max. sein?
Homer