• ベストアンサー

C++でJavaScriptを実行する方法

お世話になります C++でJavaScriptを実行する方法はあるのでしょうか? やりたい事は、C++BuilderでFlashを操作して、FlashからJavaScriptを操作します(できるようなので。。。) あとは、JavaScript⇔C++が行えれば・・・と思ってます よろしくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.1

全体像が見えてこないので、アドバイスのみです。 >C++でJavaScriptを実行する方法 C++で直接実行すると言う意味なら、ECMAScript(JavaScript)の実装・ エンジンについて調べてみて下さい。 http://ja.wikipedia.org/wiki/ECMAScript http://www.mozilla.org/js/spidermonkey/ (しかし、この場合、Flashとは全く別の話になるので、  恐らく質問の意図から外れているでしょう。) ------------------------------------------------------------- >C++BuilderでFlashを操作して、FlashからJavaScriptを操作します FlashのExternalInterfaceを経由した操作ですよね? Flashと直接やり取り出来るのは親(ラッパー)のみです。 C++Builderで、ActiveX(FlashPlayer)を利用した場合、相手はC++Builderで、 HTMLでラップした場合、相手はブラウザ(JavaScript)です。 同時に両方を操作する事は出来ないと思いますよ。 この点、勘違いしていないですか? ------------------------------------------------------------- C++Builder、Flash、JavaScriptをすべて同時に連携させるには、 C++Builder ⇔ WebBrowser ⇔ HTML(JavaScript ⇔ Flash) こんな形になるのではないかと思います。 この場合、JavaScriptとFlashはかなり自由に連携が出来ます。 (お互い、関数を呼び、戻り値を得ることが可能) しかし、C++BuilderとJavaScriptの連携がどこまで出来るか??? C++Builderから、JavaScriptの関数を起動するだけなら簡単です。 WebBrowser->Navigate("javascript:hoge('foo');void(0);"); COMインターフェースや、WebBrowserコントロールを駆使すれば、 もっと複雑な制御も可能かもしれませんが、 私にはそこまでの知識はありません。(^^; ------------------------------------------------------------- もう少し具体的に、何がしたいのか補足して頂いた方が、 回答が得られやすいと思いますよ。

giko_neko
質問者

お礼

親切丁寧にありがとうございます 何がしたいかもうっすらしている状態なので、詳しく説明できませんでした。すいません。 ありがとうございました。 また、宜しくお願いいたします。

関連するQ&A

  • JavaScriptでPhotoshopのアクションを実行させたい。

    Photoshop CS にて、 JavaScriptを読み込み自動処理させるスクリプトを組んでいます。 どうしてもJavaScriptからアクションを実行させる記述が解りません。 JavaScriptからアクションを実行させる事はできないのでしょうか? もし無理のようであれば、それに変わる方法はありますか? Photoshopのバージョンは、CS4でもかまいません。 よろしくお願い致します。

  • javascript実行中に外部ファイルのjavascriptを読み込ませ実行

    javascript実行中に外部ファイルのjavascriptを読み込ませて実行させる方法はありますか?

  • JavaScriptで可能でしょうか?

    キー操作がメインのFlashアプリを作っています。 ブラウザで表示した際には、Flash以外何も置いていません。 アプリ実行中に、他に開いているウインドウをアクティブにし、再度Flashのブラウザをアクティブにすると、そのままではキー操作ができません。Flashの画面のどこかをクリックすればキー操作できるようになるのですが、知らない人だとフリーズしたと勘違いしそうなので、できればFlashのウインドウがアクティブになったら、Flashにフォーカスをセットするようなことをして、クリックしたのと同じ状態を作り出し、何もしなくてもキー操作ができるようにしたいのですが、JavaScriptを使ってこういうことをするのは可能でしょうか? どなたかお分かりになる方がいらっしゃいましたらよろしくお願いします。

  • C/C++とJavaScriptについて。

    C/C++とJavaScriptについて。 こんにちは。 プログラミングについて学んでいる者です。 今、C/C++からJavaScriptで作成した関数を利用する方法を探しているのですが、 いい方法が見つかりません。 誰か分かる方がいましたら教えてください。 よろしくお願いします。

  • JavaScriptの実行結果を表示するには?

    いつもお世話になりありがとうございます。 添付のように、画面下に表示できました。 標記の件。 JavaScriptの実行結果を表示できるようにするには どうしたらよいでしょうか? ご回答のほど宜しくお願い申し上げます。

  • 違うページのJavaScriptの実行

    JavaScriptを使ってHTMLを作成しています。 現在開いているページで違うページのJavaScriptを実行する事はできますか? 形としては現在開いているページ内にあるボタンを押下したときに、 違うページのJavaScriptを実行したいです。

  • C++Builder XEのコンパイル&実行

    以前C++ Builder5で作成していたプログラム(プロジェクト)を、C++ Builder XEで使うことになり、XEでコンパイルを行った時に出るエラーは全部直し、実行しようと思ったのですが、「コンパイル成功」と出た後に実行画面が出ません。 「実行」を押したときに、コンパイル成功で実行画面が出ない理由には、どのような原因が考えられるのでしょうか? 思い当たる原因があったら、ぜひ教えてください。

  • C++とJavaScriptもしくはFlashとの連携

    パソコンとRS232を用いて通信する外部デバイスと、Flashの連携を行いたいと考えています。 環境は、 OS: WindowsXP Flash: Adobe Flash8 JavaScript: Flashよりパブリッシュされるhtmlに記述 C++: Microsoft Visual C++ 2005 Express Edition です。 Flash自身には外部デバイスと通信する術は、セキュリティ上備えていないと思うので、RS232通信を行う部分はCのプログラムを走らせておく必要があると思います。 Flash側のヘルプを見ていると、fscommand関数を用いると "ActiveXコントロールに対応しているVisual Basic (VB) や Visual C++ などのプログラムにメッセージを渡すこともできます。" Adobeオンラインヘルプ: http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001177.htm とあったのですが、これについてAdobe側に詳しい説明を求めたところ、 External API (ExternalInterface クラス)は、JavaScript によりActionScript やFlash Player コンテナと HTML ページ間の通信を可能にするサブシステムであるため、Flash と C++ 等とのやり取りを コンテナ内の JavaScript などで仲介するような構成内容が想定されるかと存じます。 と言う回答が返ってきました。 さらに、 誠に恐れ入りますが上記のような C++、およびJavaScript記述については、て有の償サポートをご利用の場合も含めて、弊社よりケーススタディとし情報提供は行っておりません。 と言う返答も付け加えられており、正直お手上げな状態であります。 そもそもFlashがそう言った利用方法を想定していない、むしろ封じていることは他の方の書き込みを見ていて理解できました。 そこで本題となるのですが、C++とhtml内のJavaScriptに書かれた関数とやりとりができるようであれば、これは実現できるのではないかと考え質問させて頂いております。

  • Borland C++ Builderで簡単なC言語プログラムの作成・実行

    Borland C++ Builderで簡単なCのプログラムを作り実行させるにはどうしたらよいですか? DOS窓上でコンパイルするのではなく、Borland C++ Builderのメニューから行いたいのです。 一応、「ファイル→新規作成→その他→Cファイル」でCのファイルは作成できるのですが、このファイルを「プロジェクト→ユニットのコンパイル」でコンパイルすることができません。 Formオブジェクト(?)を作成しておくとコンパイルできます。 Formは特に必要ないので、FormなしでCのファイルだけをコンパイルしたいのです。 DOS窓でのコンパイル・実行はできます。 事情があってBorland C++ Builderを使わなくてはなりませんので、他のIDEはこの際全く解決になりません。 よろしくお願いします。

  • JavaScriptでPHP実行する方法

    質問させて頂きます。 現在、JavaScriptを用いて、DB内に登録されている画像を読み込み(複数の中から1つ)表示させたいと考えています。 JavaScriptを用いて画像を読み込み表示させるといった実装を行ったことが無いので、一般的に行われてる方法を教えて頂けないでしょうか。 私の考えている方法としては、 HTMLファイル上のJavaScriptでajaxというものを用いてPHPを実行させ、PHP上でDBの中から画像情報をランダムでひとつ読み込み、その情報をHTMLにjsonで返して表示させるという方法を使用するべきなのかと考えています。 ですが、ajaxという方法を使用したことが無いため、この方法が正しいのか、他に良い方法があるのではないかと不安になり質問させて頂きました。 もし何か良い方法をご存知の方がいらっしゃいましたら、ご教授お願いいたします。 また、質問に不備な点などあるかもしれませんので、その際はご指摘下さい。 よろしくお願いいたします。