Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi FindFirstURLCacheEntry Parameter falsch ? (https://www.delphipraxis.net/20984-findfirsturlcacheentry-parameter-falsch.html)

HomerGER 26. Apr 2004 12:49


FindFirstURLCacheEntry Parameter falsch ?
 
Hallo

ich lese mit dieser function den Cache aus

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
ie_cache : PINTERNETCACHEENTRYINFO;
size_dw : DWord;
cache_dir_dw : DWord;
begin
    CheckListBox1.Items.BeginUpdate;
    CheckListBox1.Items.Clear;

    size_dw := 65536;
    ie_cache   := AllocMem(size_dw);

    try
        cache_dir_dw := FindFirstUrlCacheEntry(NIL ,ie_cache^,size_dw);

        if cache_dir_dw = 0 then
        begin
            ShowMessage(SysErrorMessage(GetLastError)+' '+IntToStr(size_dw));
            exit;
        end;

        while cache_dir_dw <> 0 do
        begin
            Application.ProcessMessages;

            CheckListBox1.Items.Add(ie_cache^.lpszSourceUrlName);

            size_dw := 65536;

            if not FindNextURLCacheEntry(cache_dir_dw,ie_cache^,size_dw) then
            begin
                cache_dir_dw := 0;
            end;
        end;

    finally
        FreeMem(ie_cache,65536);
        CheckListBox1.Items.EndUpdate;
        Edit2.Text := IntToStr(CheckListBox1.Items.Count);
    end;
end;

cache_dir_dw := FindFirstUrlCacheEntry(NIL ,ie_cache^,size_dw);

durch das NIL hier alles
ich weiß ich kann hier zwar noch 'cookie:' oder 'visited:' ersetzen
aber ich wollte es genauer


nun hab ich den Code um das erweitert

Delphi-Quellcode:
if ie_cache^.CacheEntryType = COOKIE_CACHE_ENTRY then
            begin
                CheckListBox1.Items.Add(ie_cache^.lpszSourceUrlName);
            end;
bzw durch die Parameter
NORMAL_CACHE_ENTRY
URLHISTORY_CACHE_ENTRY usw

nur dann zeigt er nix mehr an

wisst ihr warum ?

SirThornberry 26. Apr 2004 13:21

Re: FindFirstURLCacheEntry Parameter falsch ?
 
nur ne Vermutung - Eventuell ist CacheEntryType sowas wie die Attribute bei einer Datei. Sprich es kann aus mehreren Attributen bestehen.
So das "CacheEntryType = COOKIE_CACHE_ENTRY + URLHISTORY_CACHE_ENTRY + IRGENDWAS" ist. Du also prüfen musst ob COOKIE_CACHE_Entry in CacheEntryType enthalten ist

HomerGER 26. Apr 2004 13:25

Re: FindFirstURLCacheEntry Parameter falsch ?
 
yep

so geht es
Delphi-Quellcode:
if (ie_cache^.CacheEntryType AND COOKIE_CACHE_ENTRY) = COOKIE_CACHE_ENTRY then
       
begin
           
CheckListBox1.Items.Add(ie_cache^.lpszSourceUrlName);
         
end;

kann jemand mir auch sagen
was die einzelnen Patrameter eigentlich genau sind

COOKIE_CACHE_ENTRY = wohl nur die cookies
NORMAL_CACHE_ENTRY = alles?
STICKY_CACHE_ENTRY = ????
URLHISTORY_CACHE_ENTRY = verlauf?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz