4

先月 GeckoFX を見つけたときは本当に興奮しました。私の雇用主は、(デスクトップベースのアプリから Web ベースのアプリへの移行をスムーズにするために) デスクトップアプリケーションに組み込みブラウザーを配布したいと考えており、IE ではなく Gecko を使用できることは奇跡でした!

私が見つけた GeckoFX の最新バージョンは、Gecko エンジン (Xulrunner) のバージョン 1.9.1 および 1.9.2 を使用しています。これは問題なく動作しますが、今週 Firefox 4 (Gecko 2.0) に同梱された多くの機能が欠落しています。

すでに Xulrunner 2.0 のディストリビューションを持っていますが、GeckoFX はそのままでは動作しません。XPCOM API の一部が変更されており、他にも多くのマイナーな非互換性があると確信しています。簡単に修正できると思いますが、私は C++ 開発者ではないので、まったくわかりません。

私が今探しているのは、優先順に次のいずれかです。

  1. Xulrunner 2.0 と互換性のあるビルド済みの GeckoFX の更新
  2. Gecko を利用した Web ブラウザーを C# Windows アプリケーションに埋め込むことを可能にする別のソリューション。
  3. どこから GeckoFX を自分で更新し始めるかについてのアドバイス (アドバイスとは、手を握って話しかけるように話すことを意味します)

コードを掘り下げてすべてのエラーを整理しようとしても役に立ちません。InvalidCastExceptionのインスタンスを作成しようとすると、エラーが発生し続けますnsIWebBrowser(エラー メッセージとスタック トレースがすべて表示されるため、それ以上説明することはできません)。組み込みの Firefox 4 をまだ誰も起動していないように見えるので、頭をかきむしったり、無意味なグーグル検索をしたりしました。

アイデア?提案?

4

2 に答える 2

2

より深い助けがなかったため、時間をかけて自分で掘り下げて物事を理解しました. トリックは理解でしたComImport。これは私が以前に使用したことのないものです。

Mozilla は、XPCOM によって公開されたいくつかの API メソッドの GUID を変更したことが判明しました。最も重要なのは、 の GUIDnsIWebBrowserが から に変更され69E5DF00-7B8B-11d3-AF61-00A024FFC08Cたこと33e9d001-caab-4ba9-8961-54902f197202です。

この 1 つの変更を行うと、nsInterfaces.cs実際にはかなり修正されました。

行ごとに調べてビルド エラーを調整することで (不可解なエラー メッセージにもかかわらず)、システムを完成させ、実際に XULRunner 2.0 を実行するビルドを作成することができました。

残念ながら、Gecko 2 をビルドして実行できることと、API 全体を公開できることは、まったく別のことです。Gecko 2: Leapin' Lizard用に GeckoFX を完全に書き直したプロジェクトを Google Code で作成しました。これは基本的に、元の Skybound.Gecko コードのフォークであり、同じオープン ソース ライセンスの下で配布されています。

これで、XULRunner 2.0 と互換性のある GeckoFX のビルドができました。磨けばいいだけです。

于 2011-03-31T18:13:06.430 に答える
0

現時点では、XulRunner 4.0 をラップするコンパイル済みのライブラリはありません。私は、実際に活発に開発されている Mozilla ラッパー ビルドである MozNET の作成者です。私は XulRunner 2.0 を利用した半作業ビルドを持っていますが、まだ完全ではありません。XulRunner 2.0 で行われた変更により、MozNET が新しいビルドと完全に互換性を持つようにするために、まだ多くの変更が行われています。現時点では、完全なブラウジング サポート、ほぼ完全な DOM オブジェクト アクセス、および完全なスペル チェック サポートがあります。私はまだ MozNET 1.9.2.17 を維持およびサポートしているため、ビルドは進行中の作業です。

于 2011-04-13T01:32:26.560 に答える