0

私のアプリケーションでは、Flex、Java、および C++ を使用しています。C++ コードは共有ライブラリにコンパイルされます。Java はライブラリ内のメソッドを実行します。その後、Flex コードはライブラリを使用して他の関数を使用します。

問題は、Flex で使用されるメソッドは、Java コードがライブラリで完了した後にのみ使用できることです。

Java が完成した後、Flex が同じ共有ライブラリをロード (つまり、同じインスタンスを使用) して、同じ静的関数/変数を使用できるようにすることは可能でしょうか? Flex や Java だけですべての機能を実行することはできません。

最後のアプリケーションは、Android 用のモバイル AIR アプリケーションです。私が使用している Flex SDK のバージョンは 4.6 で、Adobe AIR 3.1 とともにデプロイされます。Flex は Java ライブラリへの拡張コンテキストを作成します。その Java ライブラリは、JNI を使用して C++ ライブラリと通信します。それはうまくいきます。Java が C++ ライブラリに多くの静的変数を割り当てた後、Flex が C++ ライブラリの同じインスタンスを使用できるようにしたいと考えています。そのため、Flex がライブラリから関数を呼び出す場合、Java が以前に割り当てたのと同じ値を持つ同じ静的変数を使用します。

私の考えは、「作成」をC++ライブラリに渡すJavaライブラリへの2番目の拡張コンテキストを作成することでした。ネイティブ C/C++ は、Flex がメソッドを使用するためのメソッドへのポインターを使用します。Java はオブジェクトのインスタンスを提供します。しかし、Java で初期化要求をキャッチして C++ に送信することは可能かもしれません。

4

0 に答える 0