Wie haben die minimale Größe möglich Chromium Embedded Framework-dlls
Chromium Embedded Framework (http://code.google.com/p/delphichromiumembedded/) ist gut. Ich benutze es, um statisches HTML, JS und CSS generiert aus den Delphi-code nur.
Aber ich finde es zu groß.
Brauche ich:
- Brauche ich HTML-Unterstützung
- Ich brauche JavaScript-Unterstützung.
- Ich brauche CSS Unterstützung.
- Ich brauche Unicode-Unterstützung.
- Ich brauche OnNavigate Veranstaltung.
Nicht brauchen:
- Ich brauche keine D3D, GDI+, GLES-Unterstützung.
- Ich brauche keine Möglichkeit zum laden einer web-Seite. LoadString ist genug für mich.
- Brauche ich nicht Locales
- Brauche ich nicht Zwischenspeichern
- Ich brauche keine Entwickler-Tools
Wie kann ich erreichen, haben die erforderlichen Eigenschaften, indem er die minimal mögliche Bereitstellung-Paket?
Derzeit CEF hat 40 MB an dlls.
- Warum nicht TWebBrowser wenn Sie möchten, eine kleine Nutzlast bereitstellen
- TWebBrowser verwendet werden, um ein bewegliches Ziel, und oft Sie die Dinge geändert, während der Windows-updates. Es war meine Nummer eins Ursache für support-Fragen. Weißt du, wie ist es heute?
- Nicht wirklich ein Experte. Ich denke, so lange, wie Sie halten es sehr einfach, es gibt keine probs und moderne IE ist stabiler und standards konform.
- Ich verwende bereits TWebBrowser und ich bin unzufrieden mit seiner flicker-Probleme (stackoverflow.com/questions/6529166/...)
- Ich persönlich denke, das ist ein berechtigtes Anliegen, Auch mit der aktuellen Technologie, gibt es immer noch Fälle, wo Größe ist ein Anliegen, und wir brauchen definitiv etwas zu ersetzen WebBrowser2 (windows active-x-Sachen) oder ähnliches Zeug, das im Grunde ein drop-in-replacemnt sofort segne alle desktop-ui mit modernen browser-Funktionen.
InformationsquelleAutor Ivelin Nikolaev | 2011-11-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abhängig von den benötigten Funktionen können Sie lassen Sie einfach einige der Dateien/DLLs. Ich habe versucht, und könnte lassen Sie sich diese:
Ich denke, Sie werden Locker video-Wiedergabe-Fähigkeit und die UI, die wird nicht angezeigt, wenn Sie einfach verwenden Sie es, um eine website angezeigt, die eingebettet in Ihre Anwendung.
Über die Verringerung der CEF-Bibliothek Größe an sich, es braucht eine vollständige umgebaut, und einige debugging-phase. Viel Zeit verbrachte, vielleicht nicht Wert, es - 40 MB klein ist, nach der heutigen Rechenleistung und Netzwerk-Bandbreite. Ich würde eher verlassen Sie sich auf die "offizielle" Version von CEF, stay tuned mit den neuesten Versionen der browser.
Wenn Ihr Problem ist, über das deployment Paket-Größe und einzigen ausführbaren Datei/kein feature installieren, können Sie erwägen, embedd die
dll
s innerhalb derexe
.Den trick, den ich verwendet habe, ist, dass die
.dll
- Dateien gespeichert werden als zip-innerhalb der main -.exe
, dann unkomprimiert auf einem eigenen temporären Ordner auf der Festplatte, die Sie verwenden möchten, können die gleichen Ordner, aber es funktioniert nicht inC:\Program Files
aufgrund der Vista/Seven UAC, und der Benutzer kann sich Fragen, wo all diese Dateien kommt frome - das ist der Grund, warum ich ein privater Ordner).Aus der Sicht des Benutzers, es ist nur eine ausführbare Datei zum ausführen. Alle
.dll
- Dateien sind komprimiert, und Sie können auch einige nicht-binären Ressourcen, um die Dateien (das ist nicht möglich, mit exe - /dll-Pressen). Einen versteckten Ordner angelegt und verwendet zum laden der Bibliotheken (die geladen werden müssen, mitLoadLibrary()
, die nicht statisch gelinkt), und der Dekompression wird nur einmal gemacht werden (daher wird es schneller sein, als mit einer exe/dll-Kompressor).Ich habe es zum Beispiel auf der embedded hunspell.dll Bibliothek und der Deutsch-Wörterbuch auf unser SynProject tool. Code sieht wie folgt aus:
Sehen dieser link über details und Quellcode.
Können Sie erwägen, einige low-level-hack wie BTMemoryModule, aber Sie müssen nicht alle möglichen Komprimierung.