dcef3 Chromium html Datei Vorschau
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen
Ich bin neu hier im Forum und beschäftige mich erst seit ca. einem halben Jahr mit Delphi. In Delphi habe ich dcef3 (Chromium Embedded 3) installiert, damit ich eine Webvorschau in meinem Programm habe, die auch Cascading Style Sheets laden und anzeigt. Nun ich habe in meiner Hauptform die Komponente "Chromium1: TChromium;" hinzugefügt. Im OnCreate der Hauptform:
Code:
Timer2 Procedure:
procedure TForm1.FormCreate(Sender: TObject);
var Dir1, Dir2, Dir3, sExePath, URL: String; begin try Edit4.Text := GetCurrentUserName; // Windowsuser auslesen Edit3.Text := 'C:\Users\'+Edit4.Text+'\mawiDesigner\';// Hauptspeicherpfad Dir1 := Edit3.Text+'Vorschau\images'; // Ordnernamen Dir2 := Edit3.Text+'Projekte'; // Ordnernamen Dir3 := Edit3.Text+'Export'; // Ordnernamen ForceDirectories(Dir1); // Ordner erstellen ForceDirectories(Dir2); // Ordner erstellen ForceDirectories(Dir3); // Ordner erstellen sExePath := ExtractFilePath(ParamStr(0)); // Programmausführungspfad auslesen Edit2.Text := sExePath; // Programmausführungspfad Timer1.Enabled := True; // Timer starten Timer2.Enabled := True; // Timer starten URL := 'file:\\\'+Edit3.Text+'Vorschau\index.html'; // URL Chromium1.Browser.MainFrame.LoadUrl(URL); // html Datei anzeigen finally end; end;
Code:
Die dcef3 Debug Datein sind alle im Win32 und Win64 vorhanden, wie auch alle Bibliothekspfade und Suchepfade sind in Delphi gesetzt.
procedure TForm1.BrowserAktualisieren(Sender: TObject); //Browservorschau neu laden
var URL: String; begin Chromium1.Browser.MainFrame.LoadUrl(URL); // html Datei anzeigen end; Wenn ich das Ganze nun als Win32 erzeuge, dann wird mit die Chormiumvorschau gar nicht angezeigt. Bei der Erzeugung Win64 klappt es einwandfrei, die html Datei wird in der Chromiumvorschau angezeigt. Jedoch beim schliessen des Programmes tritt folgender Zugriffsfehler auf (Siehe Bild). Enferne ich das Laden der URL in Chromium: "Chromium1.Browser.MainFrame.LoadUrl(URL);", dann tritt der Fehler nicht auf, aber die html Datei wird auch nicht angezeigt. Die html Datei erzeuge ich in einem Memo und speicher diese als index.html, die ich in Chromium laden möchte. Vielleicht kann mir da jemand helfen, Danke. Gruss Marco |
AW: dcef3 Chromium html Datei Vorschau
Nach dem das Fenster geschlossen wurde ist aber der Timer noch aktiv, welcher dann auf ein nicht mehr vorhandenes Objekt zugrreifen will.
Btw.: Ich würde den Benutzerpfad nicht hartkodieren sondern ihn vom System auslesen. |
AW: dcef3 Chromium html Datei Vorschau
Zitat:
Ich setzte im OnClose der Hauptform den Timer2 auf False.
Code:
Das Problem besteht nur bei der Win64 Erzeugung. Bei der Win32 Erzeugung wird die Vorschau gar nicht dargestellt.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); // Programm schliessen
begin try Timer1.Enabled := False; // Timer beenden Timer2.Enabled := False; // Timer beenden finally end; Close; end; Zitat:
Code:
Auslesen in Edit:
uses shlobj, ActiveX;
function GetSpecialFolder (aFolder: Integer): String; var pIdL: PItemIDList; Path: array [0..Max_Path] of Char; Allocator: IMalloc; begin SHGetSpecialFolderLocation (0, aFolder, pIdL); SHGetPathFromIDList (pIDL, Path); if Succeeded (SHGetMalloc (Allocator)) then begin Allocator.Free (pIdL); {$IFDEF VER100} Allocator.Release; {$ENDIF} end; Result := Path; end;
Code:
Edit1.Text := GetSpecialFolder(CSIDL_PERSONAL)
|
AW: dcef3 Chromium html Datei Vorschau
Zitat:
cu |
AW: dcef3 Chromium html Datei Vorschau
Zitat:
|
AW: dcef3 Chromium html Datei Vorschau
Zitat:
|
AW: dcef3 Chromium html Datei Vorschau
Zitat:
Code:
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cefvcl; type TForm1 = class(TForm) Chromium1: TChromium; procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Chromium1.Browser.MainFrame.LoadUrl('http://www.delphipraxis.net'); end; end. |
AW: dcef3 Chromium html Datei Vorschau
Hallo Zusammen
So nach Stunden langem googlen und Demos von dcef3 durchforsten, bin ich nun zum Ziel gekommen und es funktioniert mit meiner html Vorschau. Hier die Lösung: Die .dpr Datei des Projektes öffnen und bei "uses" an erster Stelle folgendes hinzufügen:
Code:
Dann nach "begin" die ersten Zeilen:
ceflib,
Code:
Nun bei der Hauptform beim Ereigniss "OnShow":
CefCache := 'cache';
CefSingleProcess := False; if not CefLoadLibDefault then Exit; Application.Initialize; Application.MainFormOnTaskbar := True;
Code:
Auch das aktualisieren des html Vorschau klappt in einer eigenen procedure einwandfrei:
var
Webseite: String; begin Webseite := 'file:///'+Edit3.Text+'Vorschau/index.html'; Chromium1.Browser.MainFrame.LoadUrl(Webseite); end;
Code:
Chromium1.Browser.Reload;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 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