5

I'm new to StackOverflow, and generally find the answers I'm looking for here. Except this time. I'm confuzzled. Here goes:

Some weeks back, I downloaded Revision 306 of Delphi Chromium Embedded, and installed it on a fresh copy of Delphi XE. Now, this was grabbed from the "Downloads" section of the DCEF Google Code page.

First thing I noticed was that the site mentions that Delphi XE is supported, but there is no project package included specifically for XE. Naturally, I installed the package meant for Delphi 2010, as the one for XE2 won't work due to FMX, and perhaps a few other things (?).

Having used an older build on D7 in the past, I naturally dropped a TChromium on the form, set the default URL to http://foundry-local/assist/node/, and ran the app. Here's what I was greeted with:

Exception EExternal Exception in libcef.dll ... External Exception 80000003.

Couldn't post anything in their new Google Group (they disabled the issue tracker on the Code page), so I thought I'd come here to figure out what happened. But just before that, I decided to checkout the latest code-build from the trunk. Installed it successfully (still no package for XE), dropped a TChromium on a blank form, and ran the app. This time I was greeted as follows:

Exception EReadError in module FoundryAssistNodeManager.exe at 0004BE24. Error reading Chromium1.Options.AcceleratedCompositingEnabled: Invalid property path.

And hence: I am really confuzzled.

(Edit: The app can see the core libraries, and they are being picked up.)

Has anybody else been having problems using DCEF on Delphi XE? If so, anyone had some kind of solution?

See, I'm building a customised help platform for my to-be-released products. Using IE is unreliable, and Gecko's components are no longer in development.

Any tips, guidelines would be great. Thanking you all in advance.

Clifford
  • 88,407
  • 13
  • 85
  • 165
Mike Rockétt
  • 8,947
  • 4
  • 45
  • 81
  • Have you got core libraries [`visible to your project`](http://stackoverflow.com/a/9587241/960757) ? – TLama Aug 28 '12 at 14:48
  • Hi TLama, indeed I do. Forgot to mention that (though I did mention it on their page). – Mike Rockétt Aug 28 '12 at 14:55
  • Also, and I find this quite weird, when I try to compile the demos, I get the following compiler error: Declaration of 'ProcessRequest' differs from previous declaration [in ceffilescheme.pas] – Mike Rockétt Aug 28 '12 at 15:10
  • Seems your design time and runtime packages are of different versions. Anyway, what did you mean with *Having used an older build on D7 in the past* ? – TLama Aug 28 '12 at 15:17
  • That could be the case, from a logical point of view. Do you know where I could get a set of stable binaries and design-time packages for XE? I first used DCEF in 2010 using D7. – Mike Rockétt Aug 28 '12 at 15:20
  • I've just reverted back to r306 from the "Downloads" page. Just to test, I left the newer binaries in place, and the app told me that the CEF library versions were invalid. So, I copied over the correct binaries that came with the build, and got that first error I mentioned in my question. The 80000003 one. Perhaps their distribution was not compiled with the correct binaries? Should I revert to a previous build? – Mike Rockétt Aug 28 '12 at 15:44
  • Funny you should post this. I was considering a similar posting just yesterday. But, I didn't make the post because I finally decided that for my very very simple needs TWebBrowser would work fine and I'd avoid the kinds of problems that I (and you) encountered. I'm sure others have had good success with CEF, but I was discouraged by the lack of documentation, my aversion to non-commercial packages, and the kind of problems you had. Fortunately, as I noted, my needs were so simple that I didn't need it. – RobertFrank Aug 28 '12 at 16:02
  • Hi Robert. I nearly did the same, though I was going to use the EmbeddedWebBrowser suite, which is a heavy wrapper for IE. Problem is, people have different versions of IE, and it seems to render as if it were IE7, even when I have 8. The built in TWebBrowser does the same thing, and Micosoft Document Explorer seems to as well. This is what keeps me away from it. Ideally, I'd love to use Gecko - it is my favourite engine. Opera is a last resort, but before IE. So it seems others are having similar issues? – Mike Rockétt Aug 28 '12 at 16:11
  • @Michael, yes, rendering issues with TWebBrowser could be a problem. We're doing just plain text with links, so it's not for us. The EmbeddedWB looked promising, but the file dates in their download are from 2009, and the last post on their forum was more than two months ago. I concluded it was an inactive project. For others' reference:Ken's comment on the accepted answer of this SO post mentions using a more current Type Library to get access to more modern features in TwebBrowser: http://stackoverflow.com/questions/11568605/delphi-how-to-check-if-webbrowser-has-successfully-loaded-the-page – RobertFrank Aug 28 '12 at 16:24
  • Never even noticed that, @Robert. Nonetheless, even if there were updates to it, it would still be relying on underpinned technologies and APIs from MS. Thanks for the heads-up. – Mike Rockétt Aug 28 '12 at 16:39
  • Is there anywhere from which I can download a working copy? Perhaps someone could share a working copy? – Mike Rockétt Aug 29 '12 at 11:12
  • This is the link to control the rendering mode of TWebBrowser control (http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx) – Hendra Aug 30 '12 at 05:46
  • Thanks @Hendra - This does help indeed. I can use this solution until such time as DCEF is updated again (I hope this happens soon). – Mike Rockétt Aug 30 '12 at 08:24
  • Looks like DCEF3 has been released, sans a few bugs. Nonetheless, my problem has been sorted out, and can continue developing happily. Thanks for the tips. :) – Mike Rockétt Sep 14 '12 at 11:15

1 Answers1

2

Technically speaking, this is not an answer to my question, but I feel it is necessary to show viewers of this question the best route to take.

Quite simple really: Upgrade to DCEF3.

Some developers local to me have also reported the same problem, with no apparent fix. Using version 3 solves the problem.

To the commenters above, thank you for helping as far as you could. Much appreciated.

Mike Rockétt
  • 8,947
  • 4
  • 45
  • 81