Code: Select all
procedure ProcessHandler_OnWebKitInitializedEvent;
var
code: string;
begin
code := '__defineGetter__(''app'', function(){native function $get();return $get()});';
CefRegisterExtension('app', code, TDVCefBridge.Create as ICefv8Handler);
end;
class procedure TMyClass.InitChromium;
var
TempProcessHandler: TCefCustomRenderProcessHandler;
begin
TDVCefBridge.FCallbackClasses := TDictionary<TChromium,TValue>.Create;
TempProcessHandler := TCefCustomRenderProcessHandler.Create;
TempProcessHandler.OnWebKitInitializedEvent := ProcessHandler_OnWebKitInitializedEvent;
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.CheckCEFFiles := False;
GlobalCEFApp.EnableHighDPISupport := True;
GlobalCEFApp.RenderProcessHandler := TempProcessHandler as ICefRenderProcessHandler;
GlobalCEFApp.StartMainProcess;
end;
But when I add "GlobalCEFApp.SingleProcess := True;" to the Init procedure, everything works fine. But this is not an option for production use.
Can anyone help me? If you need more code or explanations, just ask