views:

3947

answers:

4

Is there a way to embed the WebKit engine into a Delphi application?

A: 

That is something I'm really interested. I think WebKit is C++, then the way I see is create the needed bindings, just like Borland created CLX using QT.

Cesar Romero
+3  A: 

Yes, you can it has a normal api. But remember you need some dlls from adobe. Alternative you can build your own webkit, with only opensource libs. but compiling that under windows its a hard hard way.

Update 1 i found a precompiled lib here: WebKit Cairo Release

I dropped that project and decided to take gecko. On sourceforge there is a project which converts the headers for delphi.

D-Gecko

Update 2

a new project appeared:

Embedding Chromium in Delphi

Chromium is the embedded version of googles chrome and chrome uses webkit.

Bernd Ott
D-Gecko have no files yet, what are you using?
Cesar Romero
Take the source from the svn. there are also (somewhere) older zip versions. i found them via a search engine.svn: https://d-gecko.svn.sourceforge.net/svnroot/d-geckosome versions are broken. if i remember right, the initial checking containing the original source.
Bernd Ott
Blog not foundSorry, the blog you were looking for does not exist. However, the name lwat is available to register! ;)
Christopher Chase
A: 

Using the webkit build from http://whtconstruct.blogspot.com/, I managed to create a delphi app that successfuly embed and display the webkit webview on the delphi form. However everytime I visited a javascript page such as google, yahoo and many other, I always ended up with Invalid Floating Point exception. Non javascript pages are ok though.

sarafin
never mind, math.SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide,exOverflow, exUnderflow, exPrecision]);saved the day!Now webkit in delphi is workng perfectly.
sarafin
Any pointer on how you managed to integrate it? I managed to import the ActiveX interface into Delphi but could't find a way of actually using it as no visual component seems to be available.
carlosb
A: 

Try Set8087CW($133F); in the beginning of your delphi app.

Tobias
How does disabling all FPU exceptions, help anything here?
TommyA