Thema: TEdgeBrowser

Einzelnen Beitrag anzeigen

Youuuu

Registriert seit: 9. Okt 2016
60 Beiträge
 
Delphi 11 Alexandria
 
#1

TEdgeBrowser

  Alt 18. Dez 2020, 14:26
Hi,

Ich lese mich gerade etwas in den TEdgeBrowser ein, bzw. Chromium.

Jetzt ist es dort nicht so einfach Cookies zu löschen, wie ich mir das dachte.

Ich habe bereits CEF4 für Delphi heruntergeladen und eingebunden (https://github.com/salvadordf/CEF4Delphi).

Als Beispiel Code habe ich folgenden mehrfach im Internet gefunden:


Delphi-Quellcode:


function CookieVisitorProc(const name, value, domain, path: ustring;
                                 secure, httponly, hasExpires: Boolean;
                           const creation, lastAccess, expires: TDateTime;
                                 count, total: Integer;
                           out deleteCookie: Boolean): Boolean;
var
  TempCookie : TCookie;
begin
  deleteCookie := false;

  TempCookie.name := name;
  TempCookie.value := value;
  TempCookie.domain := domain;
  TempCookie.path := path;
  TempCookie.secure := secure;
  TempCookie.httponly := httponly;
  TempCookie.creation := creation;
  TempCookie.last_access := lastAccess;
  TempCookie.has_expires := hasExpires;
  TempCookie.expires := expires;

  Form26.AddCookieInfo(TempCookie);

  if (count = pred(total)) then
    begin
      if (TForm26 <> nil) and Form26.HandleAllocated then
        PostMessage(Form26.Handle, MINIBROWSER_SHOWCOOKIES, 0, 0);
      Result := False;
    end
   else
    Result := True;
end;

procedure TForm26.AddCookieInfo(const aCookie : TCookie);
begin
  // This should be protected by a mutex.
// FText := FText + aCookie.name + ' : ' + aCookie.value + #13 + #10;
  FText := FText + aCookie.name + ' : ' + aCookie.value + ';';
end;

procedure TForm26.BrowserCreatedMsg(var aMessage : TMessage);
begin
  EdgeBrowser1.navigate('http://google.co.id');
  AmbilCooki;
end;


procedure TForm26.AmbilCooki;
var
  cookiemanag : ICefCookieManager;
begin
  cookiemanag := TCefCookieManagerRef.Global(nil); <-- Wenn ich den Fehler unten einmal ausklammer, erhalte ich hier zur Laufzeit immer eine Exception, dass hierauf nicht zugegriffen werden kann
  cookiemanag.VisitAllCookies(FVisitor); <-- Fehler
  MemoCookies.Text := FText;
end;

Jetzt krieg ich immer den Fehler "[dcc64 Fehler] Unit26.pas(97): E2010 Inkompatible Typen: 'TCefCookieVisitorProc' und 'Procedure'"

Hat jemand bereits Erfahrungen mit Chromium und TEdgeBrowser von Delphi sammeln können?
  Mit Zitat antworten Zitat