salvadordf / CEF4Delphi

CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC for Windows, Linux and MacOS.
https://www.briskbard.com/forum/
Other
1.21k stars 366 forks source link

CEF4 Delphi - with Thinfinity Virtual UI #391

Closed NDzubiel closed 2 years ago

NDzubiel commented 2 years ago

Hello @all,

I am trying to embed Chrome into my application - that I am using with Thinfinty Virtual UI - but I am getting this error - I guess it has to do something with the browser display/draw functions - I tried several things - but nothing seems to work ... has anybody already solved this problem ?

Thanks.

Nils

Faulting application name: SimpleBrowser.exe, version: 1.0.0.0, time stamp: 0x617e68be Faulting module name: libcef.dll, version: 95.7.14.0, time stamp: 0x6179e9ee Exception code: 0x80000003 Fault offset: 0x02647633 Faulting process id: 0x994 Faulting application start time: 0x01d7ce464df00d37 Faulting application path: C:\Google\SimpleBrowser.exe Faulting module path: C:\Google\libcef.dll Report Id: 30dff0dd-71d0-4cf8-a7ca-46852f8e9340 Faulting package full name: Faulting package-relative application ID:

salvadordf commented 2 years ago

I tried the Thinfinity VirtualUI demos available at their website using the MiniBrowser demo and all of them work correctly.

SimpleBrowser and many other demos block new popup windows to keep them as simple as possible but the MiniBrowser demo can handle them. Perhaps VistualUI needs popup windows to work.

NDzubiel commented 2 years ago

Hello,

I think this was a misunderstanding – right now – I have the Delphi TWebbrowser component integrated within my application – to show help and other things - since IE goes away – I wanted to use the embedded Chrome instead – the problem is – that some people run my application using Virtual UI – and this fails – I made a demo for you – if you install Thinfinity Virtual UI – you find that this demo fails:

https://www.nhd.com/nhddownload/SM/SimpleBrowser.2021-11-03.01.zip

If you could look into this – this really would help. Thank you.

Nils

Best regards

[Nils H Dzubiel]

Nature Does Not Negotiate.

E-Mail werden nur um 10 Uhr bearbeitet – wenn möglich. E-Mail are processed at 10 AM – if possible.

Bitte beachen Sie unsere Datenschutzhinweisehttps://www.nhd.com/nhddownload/info/Datenschutzhinweise.pdf

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version.

From: Salvador Díaz Fau @.> Sent: Mittwoch, 3. November 2021 09:44 To: salvadordf/CEF4Delphi @.> Cc: Nils H. Dzubiel @.>; Author @.> Subject: Re: [salvadordf/CEF4Delphi] CEF4 Delphi - with Thinfinity Virtual UI (Issue #391)

I tried the Thinfinity VirtualUI demos available at their website using the MiniBrowser demo and all of them work correctly.

SimpleBrowser and many other demos block new popup windows to keep them as simple as possible but the MiniBrowser demo can handle them. Perhaps VistualUI needs popup windows to work.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/salvadordf/CEF4Delphi/issues/391#issuecomment-958747958, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AE4RHMSBVTK6EFAF7CJZFB3UKDY4XANCNFSM5HCFCYUA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

salvadordf commented 2 years ago

I haven't tested that yet but I wouldn't be surprised if the SimpleOSRBrowser demo works fine when you virtualize it with Thinfinity Virtual UI. Could you try that demo too?

salvadordf commented 2 years ago

I installed the trial and tried to run a few demos and all of them crash inside Thinfinity Virtual UI. Even the official CEF sample application can't start in Thinfinity Virtual UI. The debug log shows that the GPU process is crashing.

salvadordf commented 2 years ago

Not only the GPU subprocesses crash. Also the Network service is crashing. It seems that all Chromium subprocesses crash when you run them inside Thinfinity Virtual UI.

I tried setting GlobalCEFApp.SingleProcess to true and the browser starts correctly but this is an unsupported mode and it has shutdown problems. I tried running the demo with the credential of another user with admin rights and the problem is the same. I also tried all these settings without success : GlobalCEFApp.EnableGPU := False; GlobalCEFApp.AddCustomCommandLine('--disable-gpu-process-crash-limit'); GlobalCEFApp.AddCustomCommandLine('--disable-gpu-rasterization'); GlobalCEFApp.AddCustomCommandLine('--disable-gpu-vsync'); GlobalCEFApp.AddCustomCommandLine('--disable-gpu-watchdog'); GlobalCEFApp.AddCustomCommandLine('--disable-software-rasterizer');

Perhaps Thinfinity Virtual UI doesn't allow to launch any other process from a hosted app.

salvadordf commented 2 years ago

Closing because this seems to be a limitation in Thinfinity Virtual UI. It doesn't seem to allow the app to launch subprocesses and this is a Chromium requirement.