JExternal
2007.11.07
 
 

JExternalは、4DからJavaメソッドを実行するためのプラグインです。Javaで書かれたいろいろな分野の豊富なライブラリーを4Dから利用することができます。

JarファイルをJavaClassesフォルダに入れておくと、その中にあるJavaメソッドを4Dから呼び出し、実行することができます。実行中のJavaメソッドが、4Dメソッドを呼び出すコールバック機能もあります。JExternalバージョン4.1.1以降では、Javaメソッドは、4Dプロセスに対応したそれぞれのネイティブスレッドの中で動作します。複数のJavaメソッドの並列処理が可能です。

JExternalは、Javaバーチャルマシンを起動するプラグインJWorldとともに使用します

JavaClassesフォルダは、次のフォルダに配置することができます。

  1. パッケージ(JExternal_4xx.bundle)のContentsフォルダ
  2. ストラクチャファイルがあるフォルダ
  3. アプリケーションファイル(4th Dimension, 4D Server等)があるフォルダ
  4. 4Dフォルダ(ACIフォルダ)

上記の順番で、JavaClassesフォルダは探索され、最初に見つかったJavaClassesフォルダのみが採用さ れます。

注意:「1.」は4Dバージョン2004から採用された新しいプラグインアーキテクチャに対応するために追加されました。4D Serverバージョン2004以降では、上記のContentsフォルダ内のすべてのファイル/フォルダは、自動的に4D Clientにダウンロードされます。ContentsフォルダにJavaClassesフォルダを配置することで、これまでのように自分でJavaClassesフォルダのファイルを4D Clientにダウンロードする必要がなくなります。


プラグインメソッド

JExternalが提供するプラグインメソッドは、わずか4個です。その中でも主要なものは、次の2つのメソッドです。

JEX Call class method
Javaクラス(スタティック)メソッドを実行する
JEX Call object method
Javaオブジェクト(インスタンス)メソッドを実行する


これらのメソッドを使用すると、4Dのフィールド、変数、配列の値を、対応するJavaのタイプ/クラスに変換して、 Javaメソッドに渡すことができます。そして、Javaメソッドの結果は、対応する4Dタイプに変換されて、受け取ることができます。
4DとJavaのタイプ対応表
4th Dimension
<-->
Java
C_BOOLEAN
<-->
boolean
C_LONGINT
<-->
int
C_REAL
<-->
double
C_TIME
<-->
com.ronri_kobo.Time
C_DATE
<-->
com.ronri_kobo.Date
C_STRING
<-->
com.ronri_kobo.String255
C_TEXT
<-->
java.lang.String
C_PICTURE
<-->
com.ronri_kobo.Picture
C_BLOB
<-->
byte[]
ARRAY BOOLEAN
<-->
boolean[]
ARRAY INTEGER
<-->
short[]
ARRAY LONGINT
<-->
int[]
ARRAY REAL
<-->
double[]
ARRAY DATE
<-->
com.ronri_kobo.Date[]
ARRAY STRING
<-->
com.ronri_kobo.String255[]
ARRAY TEXT
<-->
java.lang.String[]
ARRAY PICTURE
<-->
com.ronri_kobo.Picture[]
動作環境

JExternalは、Mac OS、Windows両プラットフォーム上のv6.06以降の4th Dimention、4D Serverで動作します。

ただし、インテルプロセッサーが搭載されたMacでは、v2004以前の4Dと一緒に使用することはできません。JExternalがRosetta上では動作できないからです。インテルプロセッサーが搭載されたMacでは、バージョン4.1.1以降のJExternalを4D v11以降で使用してください。

Windowsでは、Sun Microsystems社のJavaバーチャルマシンが必要です。

Javaバーチャルマシン(JVM)

JExternalは、Javaバーチャルマシンを必要とします。Javaバーチャルマシンは、JExternalに付属するもう一つのプラグインJWorldによって起動されます。

Mac OS Xでは、システムにビルトインされているJavaバーチャルマシンを使用するため、あらためてインストールする必要はありません。常に最新のアップル社の Javaバーチャルマシンにアップデートすることを勧めます。

Windowsでは、Sun Microsystems社のJavaバーチャルマシンJ2SE(Java2 Platform Standard Edition)が必要です。最新のJavaバーチャルマシンJ2SE は、下記URLよりダウンロードできます。

http://java.sun.com/javase/downloads/


制限事項

Javaメソッドでは、ウィンドウを含むユーザインタフェースコンポーネントを使用することはできません。Javaメソッドの中で、ウィンドウを表示してユーザとの対話が必要になった場合は、4Dメソッドをコールバックして、そこでウィンドウを表示してユーザとの対話を行ってください。


ドキュメント

Xcodeを使用すれば、4Dの実行時に4Dと連動して、4Dから呼び出されるJavaメソッドを効率的にデバッグすることができます。


購入
JExternal
99 USドル/ライセンス
ライセンス契約書

JExternalは、1マシンにつき1ライセンスが必要です。
ソフトウェア販売の決済で、最も実績のあるアメリカのオンラインクレジット会社 Kagihttp://www.kagi.com/ のシステムを使用して決済を行います。

 

購入ページへ


サイトライセンス契約または無制限配布版については、support@ronri-kobo.comにお問い合わせください。契約内容を示す資料や評価用のプロダクトキーコードをお送りします。



 
Copyright (c) Ronri Kobo, Inc. All rights reserved.
support@ronri-kobo.com