問題タブ [cef4delphi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - CEF4Delphi と DUnit
DUnitを介してアプリケーションでCEF4Delphiで作成したいくつかのプロセスをテストしています。
以下は、問題を再現するための MCVE です。
以下はテストケースです。
.Show を使用すると、命令FChromiumCreated := True;
は実行されず、TChromium はページをロードせず、テストは false を返します。よくわかりませんが、これは TChromium が非同期で初期化され、テストが実行されたときに TChromium がまだ完全に初期化されていないことが原因である可能性があります。
この場合、どのようにテストを実行できますか?
編集私はこの回答 を読みました。私の場合、 .Show はテストの次の行に進むことを許可しますが、その段階で TChromium が完全に初期化されていないようです。私も tomazy からの提案を試みましたが、それもうまくいきません。
delphi - Delphi から C++Builder への JS 拡張デモ (CEF4Delphi) の変換が失敗する OnWebKitInitialized
C++Builder XE7 にインストールされているhttps://github.com/salvadordf/CEF4Delphiからダウンロードした CEF4Delphi に含まれる JS 拡張デモ プロジェクトをビルドしたいと考えています。私の目標は、メッセージと変数を Chromium (Web ページ、JavaScript) からネイティブ C++ 関数に送信することです。
うまく機能するデルファイのデモを見つけました。しかし、C++Builder に翻訳する必要があり、ほとんどのコードを翻訳しました。TCefApplication の OnWebKitInitialized メンバーを設定しないとうまくいきます。しかし、拡張機能を登録するために設定する必要があるため、これを行うと、アプリケーションのコンパイルとビルドはうまくいきますが、ブラウザーの背景が白く何も表示されません。このデモを C++Builder で動作させる必要があります。以下にソースコードを添付しました。
Unit1.h
Unit1.cpp
uTestExtensionHandler.h
拡張機能を正しく登録することを期待しているので、メッセージと結果の変数を Web ページからネイティブの C++ 関数に返すことができます。私はデルファイのデモからほぼ同じことをしましたが、c++builder で動作させることはできません。これを機能させるには何を変更する必要がありますか?
アップデート:
私は2番目の方法を試しました:
GlobalCEFApp->OnContextCreated
それは Ivoked ではないと思いますGlobalCEFApp->OnWebKitInitialized
。関数への参照が正しく渡されていない可能性がありますか?