webdevqa.jp.net

DelphiアプリケーションにIE <n>以外のブラウザオブジェクトを埋め込む方法

デフォルトのTWebBrowserを使用すると、Webブラウザを簡単に埋め込むことができます。残念ながら、デフォルトで入ってくるのはIE <n>です。

GeckoまたはWebKitをどのように統合するのでしょうか。

  1. どこかにVCLの例はありますか?
  2. そうでない場合、どうすればそれを実行できますか?
  3. 埋め込み可能な形式でGeckoやWebKitのコアを見つけるのに最適な場所はどこですか?
36
Gustavo Carreno

TWebBrowserisIE。ブラウザ用のプラグ可能な構造ではありません。他のブラウザをアプリケーションに統合することができます。見る

21
Lars Truijens

実行可能な代替策は CEF-Chromium Embedded Framework で、それ自体がWebKitをカプセル化するChromiumブラウザーをカプセル化します。このライブラリは、エクスポートされたC APIを備えたプレーンDLLとして提供されます。

code.google.com/p/delphichromiumembedded で利用可能なdelphiインターフェイスがあります

私はそれを自分のインターフェース実装で使用してきましたが、THTMLやIEとして適切に使用するのは簡単ではありませんが、強力で埋め込み可能なブラウザーを必要とする人には最適です。

15
Carlos Barbosa

代替はTHTMLViewerコンポーネントです。私はこれを数年間使用しています。

これは現在無料で利用できます。ウェブサイトはこちら http://pbear.com/htmlviewers.html 。 songbeamerのWebサイト( http://www.songbeamer.com/delphi/ )によると、Delphi 2009バージョンが利用可能です。

3
dcraggs

編集:ラースは残念ながら私を打ち負かしました

IWebBrowser API(TWebBrowserが使用する)の正確なコピーを提示しようとするGeckoエンジンに基づくActiveXコントロールがあります。

あなたはここでそれを見つけることができます: http://www.iol.ie/~locka/mozilla/control.htm 残念ながら、しばらく更新されていないようです。最後のバージョンはGecko 1.7.12に基づいており、Geckoは現在1.9.xまでであると信じています(Firefox 3で使用)

3
Otherside

過去3年間、GeckoをDelphiに埋め込む方法はほとんどありませんでした。ゲームのかなり後の方に現れたライブラリの1つは(私にとって) SourceForgeのGeckoSDKプロジェクト でした。 Delphiで組み込みGeckoを正しく機能させるために、私は早い段階で多くの作業を行いました。 Geckoレンダリングエンジンベースの内部「ブラウザ」での最初の試みは、DelphiとGecko 1.8を使用して構築されました。それから先に進み、ブラウザは XULRunne rアプリケーションになりました。まだ削除していない初期の試みから、まだハードドライブにコードの断片が残っています。

MozillaがGecko 2.0をリリースするとき、Delphiに組み込むのがずっと簡単になると思います。 GeckoのXPCOMオブジェクトシステムでは、ほとんどすべてがNS_RESULTを返すため、埋め込みが非常に困難です。特に弦は大変でした。

編集:私は古いブックマーク(ほとんどすべてが無効になっています)を調べて、Geckoに基づく日本語の「ベーグル」ブラウザの新しいURLを検索し、ここで見つけました、

http://github.com/plus7/bagel/tree/master/Legacy

これは、いくつかの優れたコードを開始するための最善の策です。残念ながら、コード内のコメントは日本語であり、著者は質問に答えたことはありません。

2
TomC