AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Webview2 für D2007

Ein Thema von Gruber_Hans_12345 · begonnen am 20. Jan 2022 · letzter Beitrag vom 10. Jun 2022
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#11

AW: Webview2 für D2007

  Alt 8. Jun 2022, 09:37
https://docs.microsoft.com/en-us/pre...-apis/jj710218
res protocoll -> res://sFile/sID bzw. res://sFile/sType/sID
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Webview2 für D2007

  Alt 8. Jun 2022, 09:59
Gerne, aber welche Info brauchst Du?
Mavarik
Wo hast du die Schnittstelle angesetzt? also schleust du alle Events vom TEdgeBrowser durch?
Zum erzeugen vom TEdgeBrowser gibst vermutlich nur einen Handel dann an die DLL an oder?

Eine Frage noch an alle - ist es möglich die ganzen Daten sprich Files aus einer Ressource zu laden?
Die indes.html, also das File das ich anzeigen will, ist ja kein PRoblem, das lade ich schon aus dem Speicher, aber ich würde gerne dazu auch alle CSS + JS auch die per link drinnen sind aus dem Speicher laden können.
Habe aber kein Event gefunden das man dazu hernehmen könnte?
Ich hab das ganze Fenster in einer XE 11.1 DLL
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#13

AW: Webview2 für D2007

  Alt 8. Jun 2022, 11:58
hmmm ein kleines Problem habe ich noch.

Ich habe zwei ansätze wie ich die hauptseite (index.html) reinbekomme.

Folgende geht zwar sehr schnell aber dafür bekomme ich bei gewissen sachen einen CORS verletzug.
Delphi-Quellcode:
  source := TStringList.Create;
  source.LoadFromFile('source\index.html');
  EdgeBrowser1.NavigateToString(source.TExt);
  source.Free;
wenn ich mit folgenden das mache

Delphi-Quellcode:
  EdgeBrowser1.AddWebResourceRequestedFilter('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL);
  EdgeBrowser1.Navigate('https://app/source/index.html');
Dann funktionieren zwar die AJAX aufrufe (keine CORS Verletzung mehr) aber dafür habe ich bei der ersten Seite immer ein Delay von ca 2 Sekunden (die ich beim ersten Code nicht habe)

Ok habs geschafft, konnte das CORS umgehben, indem ich die Access-Contro-Allow-* Header setze beim schicken nun funktioniert es mit dem NavigateToString auch
Gruss Hans

2B or not 2B, that is FF

Geändert von Gruber_Hans_12345 ( 8. Jun 2022 um 12:34 Uhr)
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#14

AW: Webview2 für D2007

  Alt 8. Jun 2022, 19:27
hmmm eine Frage wegen dem IStream noch

Im Moment mach ich das so:
Delphi-Quellcode:
iStr := TStreamAdapter.Create(fileSt, soOwned) as IStream;
      EdgeBrowser1.EnvironmentInterface.CreateWebResourceResponse(iStr, 200, 'OK', PWideChar(
          'content-type: '+contentTyp+#13#10
          ), response);
      Args.ArgsInterface.Set_Response(response);
      iStr := nil;
Dadruch wird der TFileStream (fileSt) und der TStreamAdapter zwar freigegeben, aber erst beim schließen des Programmes, bzw wenn ich beim TEdgeBrowser einen reload oder so mache.
Ansonsten sind die 7 TFileStream + TStreamAdapter die da drinnen erzeugt werden permanent in use.

Ist ja nicht sinn und zweck oder?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

AW: Webview2 für D2007

  Alt 8. Jun 2022, 21:20
Zitat:
LoadFromFile('source\...
NEIN.

Niemals mit relativen Pfaden arbeiten.

ExtractFilePath(Application.ExeName) oder ExtractFilePath(ParamStr(0)) und Pfade am Besten nicht manuell, sondern mit Delphi-Referenz durchsuchenTPath.Combine zusammenklöppeln.


Einfachers Beispiel:
man nehme einen TFileOpenDialog oder SaveDialog
und freue sich, dass der standardmäßig das Arbeitsverzeichnis ändert.

Oder das Programm wird aus einem anderen Pfad gestartet und das Arbeitsverzeichnis ist schon von Beginn an nicht das Gleiche, wie das Programmverzeichnis.
$2B or not $2B
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#16

AW: Webview2 für D2007

  Alt 10. Jun 2022, 07:35
Ja danke - aber das war nur zum testen eine Version, ich lade alle Files aus den Resourcen raus.

Nur das mit dem IStream, die er nur irgendwann mal freigibt bleibt trotzdem noch
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz