Statische Bilder/
HTML/CSS/JS/... kannst auch über das res:// Protokoll aus den Ressourcen deiner EXE oder einer
DLL laden.
(alternativ zu einzeln auf der Platte liegenden Dateien über das file:// Protokoll)
https://docs.microsoft.com/en-us/pre...10218(v=vs.85)
Und jupp, einfach einen lokalen TIdHTTPServer in der EXE und dann auf http://
localhost:port/einname (mußt nur bezüglich des Ports etwas anpassen, denn 80 oder 8080 würde ich nicht empfehlen)
* entweder "irgendeinen" statischen Port vorschreiben, den niemand Anderes auf dem PC nutzen darf (der frei sein muß)
* oder beim Start nach einem freien (5-stelligen) Port suchen und ihn sozusagen dynamisch anpassen
oder alternativ vielleicht mit NamedPipes o.Ä. versuchen
https://github.com/richfitz/httppipe
https://github.com/request/request/issues/2296
und dann gäbe es immernoch die Variante die Bilder ins %temp% zu legen und von da zu laden
PS: Bilder kann man auch
ins HTML einbetten
https://www.thesitewizard.com/html-t...ata-urls.shtml
1. Die Bilder müssen dynamisch zur Runtime generiert werden, also nicht mit Resourcen.
2. Einen intgerierten Webserver nur um was so simples zu machen, was der THtmlViwer mit Leichtigkeit machen kann, ist fern jeglicher Realität und keine Lösung als Ersatz für die THmtlViwer Komponente, vor allem für meinen Verwendungszweck.
3. Die temporären Dateien wären sicher eine unschöne Notlösung, aber nichts was ich machen will, wenn es anders geht. Habe mir auch überlegt diese als Base64 zu encoden und diekt im
HTML einzubetten. Das gefällt mir aber auch nicht so recht, da dadurch das Erstellen des
HTML-Strings, vermutlich deutlich verlangsamt würde. Sind doch pro Seite jeweils ca. 50 Bilder.
4. Die Bilder sind ja nur ein Problem, aber die Interaktion, Events auf Tasten/Mausklicks etc. vom TEdgeBrowser und meiner Anwendung, muss doch irgendwie machbar sein ohne all diese unschönen Umwege. Wenn das nicht geht, dass ich auf Anklicken von Bildern in meinem Programm reagieren kann, inklusive Infos welches Bild angeklickt wurde, kann ich es eh vergessen.
Im Moment habe ich das Gefühl, dass diese Komponente rein dazu da ist, eine Webpage darzustellen, aber für die Interaktion mit der eigenen Anwendung nicht zu gebrauchen ist. Kann mir aber echt nicht vorstellen, dass MS da so eine Müll produziert hat, der keine Möglichkeit bietet, auf das Rendering und Aktionen der Seite Einfluss zu nehmen.