Version 2.0.? (Released February 1, 2004)
Version 1.6.0 Beta? (Released July 17, 2003)
Version 1.5.5 (Released February 21, 2003)
Version 1.5.4 (Released November 1, 2002)
J-Integraのアップグレードポリシーを発表しました。
J-Integra をネイティブモードのインプロセスモードで動作させると、デバッグ中の VB IDE がクラッシュしていたバグを修正しました。
PowerBuilder 9 でプリミティブなオブジェクトパラメータを持つ Java メソッドをコールするとデータがメモリに読み込めないエラーを修正しました。
com2java Generate BeanInfo オプションを追加しました。このオプションは COM コンポーネントがコントロールとして登録されたものから BeanInfo クラスを生成します。このオプションを使うと JBuilder のような Java IDE や Sun One Studio で COM コントロールを Java Beansとして使えるようになります。
J-Integra はネイティブモードで [in,out] SAFEARRAY** タイプのパラメータを処理できるようになりました。
VT_INT タイプのパラメータを渡すとき、いくつかの COM アプリケーションでエラーを出していたバグを修正しました。
com2java がインタフェースコードを生成するときに、メソッドやパラメータが IDispatch から生じているものとしていたバグを修正しました。Com2java はパラメータが IUnknown と IDispatch のどちらから生じるか調べて、適切なコードを生成します。
Setdllhost がドライブ上にマップされた DLL の処理に失敗していたバグを修正しました。
J-Integra は [in] SAFEARRAY(Typename)* タイプのパラメータを処理できるようになりました。
J-Integra はネイティブ・モードで DCOM モードの COM structs をサポート可能になりました。
J-Integra がパラメータのないイベントを処理するときに ArrayIndexOutOfBoundsException 例外を出していたバグを修正しました。
ネイティブ・モードで COM オブジェクトに、空のストリングを渡すとき、J-Integra が COM 側でエラーを起こしていたバグを修正しました。
[in] VARIANT* タイプのパラメータが処理できるようになりました。
ActiveX コントロールのインスタンス化が失敗したとき J-Integra がハングしていたバグを修正しました。インスタンス化が失敗したときは例外を出します。
com2java が任意のパラメータで、パラメータを必要としないときは Nullを使うように Java プロクシ中でコメントを生成します。もし任意のパラメータがプリミティブタイプの場合は、コメントでオプションにデフォルト値を渡すようにアップデートされました。
java2com で生成した early binding のサンプルのプロクシが JDK 1.4.2 でコンパイル出来ないバグを修正しました。
Generate Java AWT クラスオプションが選択されたとき、 com2java は java.awt.Component からその関連づけられた Java クラスを得る前に、 COM クラスがビジュアルコンポーネントであるかどうか見るためにレジストリをチェックするように改良しました。 ActiveX コントロールの中にはビジュアルコンポーネントではないクラスを含んでいる場合があり、それを Java フレームに埋め込むためにコンポーネントにする必要があるからです。
com2java ツールで、パッケージ名とアウトプットディレクトリが時折間違って生成されるバグを修正しました。
時々マルチプロセッサマシンでNullPointerExceptions例外を出していたバグを修正しました。
Com2java がメソッドパラメータのコメントを生成するとき、 COM タイプライブラリで与えられたデフォルト値をコメントするようになりました。
com2java でイベントインタフェースのためのメソッドパラメータが生成されるとき[out, retval]パラメータが無く IllegalArgumentExceptions 例外が出ていたバグを修正しました。
ユーザーの認証に NetBIOS 名が使えるように、 com.linar.jintegra.NTLMAuthenticate.validate () メソッドを追加しました。
J-Integra がCOM メソッドからの戻り値を間違って読み取っていたバグを修正しました。このバグは struct が埋め込まれた SAFEARRAY を含んでいるときに発生していました
JINTEGRA_REUSE_OCX_STA プロパティを追加しました。このプロパティがセットされると、OCX ではない全ての COM オブジェクトは最後にインスタンスが作られた OCX に関連づけられたスレッドでインスタンスが作られます。このとき、OCX コントロールが表示されなければ、オブジェクトのインスタンス化は失敗します。もしこのプロパティをセットした場合は、リモートオブジェクトはインスタンスを作れません。
setdllhost tool に list と /unregister オプションを追加しました。
com2java に新しく、競合するインタフェースメソッドをリネームするオプションを追加しました。このオプションは、同一のクラス名で戻り値の形式が違うような Java で使えない COM クラスを、インタフェース名を先頭に使ったクラス名に変更します。これによりコンパイラが出すエラーを減少します。
com2java の処理で、インタフェースのベースインタフェースを定義する TLB に依存しているタイプライブラリが未登録の場合に、クラッシュしてしまうバグを修正しました。修正後は Com2java が処理しなければならない TLB を登録します。もし登録できない場合はベースインタフェースを空にします。
コマンドラインモードで java2com ツールによって保存するとき、XML 設定ファイルで与えられた UUID が使われていなかったバグを修正しました。修正後はコマンドラインと GUI モード両方で UUID が再利用されます。
アプレットが IDispatch のみの COM オブジェクトにアクセスする場合のパフォーマンスを改善しました。
J-Integra が DCOM 仕様の2分間隔よりも短い間隔で DCOM Ping を送っていたバグを修正しました。
ドキュメントで無限大と明記されている JINTEGRA_OUTGOING_CONNECTION_TIMEOUT プロパティのデフォルト値が30分にセットされていたバグを修正しました。
Java から ADO 値が戻る時、負の値を正の値として戻ることがあったバグを修正しました。
インタフェースメソッドのパラメータタイプとリターンタイプが同一の場合はリネームしないように、 com2java ツールを更新しました。この改良により、 COM タイプライブラリのコンパイルエラーが減ります。
XWindows のような GUI をサポートしないキャラクタベースのシステム上でも com.linar.jintegra.GetJvmMoniker クラスが走れる様に JINTEGRA_NOCLIPBOARD プロパティを追加しました。
本バージョンから ocxhost 以外の J-Integra ツールは jintegra\bin ディレクトリをシステムパスに含めなくても使えるようになりました。
JDK 1.4 で新規導入されたキーワードが処理できるようになりました。
COM から Java にアクセスする時に発生していたマルチスレッドの同期に関するバグが修正されました。
regjvmcmd ツールに /unregisterall オプションを追加しました。
Setdllhost ツールはパラメータのチェックのために「.dll」を調べなくなりました。ツールは登録されている .dll の番号とディスクリプションストリングを返します。
regjvm と regjvmcmd ツールはコマンドラインで使用する時にプロパティを正確に指定するように、修正しました。例えば、次のコマンドのように「-D」以降に J-Integra のプロパティを指定します。
regjvmcmd /native /inproc /java2 myjvm -DJINTEGRA_LOG_LEVEL=3
com.linar.jintegra.AuthInfo クラスのためのjavadoc がJ-Integra javadoc に追加されました。
ネイティブ・モードでも com.linar.jintegra.Dispatch.bindUsingMoniker() が動作するようになりました。
Setdllhost はフルパスを登録していない DLL にも有効になりました。 例えば DLL を走らせる時に DLLRegisterServer が失敗するようなエントリーポイントを持たないDLLでも動作します。
NetBIOS 名をパラメータと見なす新しい com.linar.jintegra.NTLMAuthenticate.validate () メソッドが追加されました。現在、デフォルト値は *SMBSERVER が使われます。
JINTEGRA_MAIN_THREADGROUP プロパティを追加しました。
ブラウザをシャットダウンせずにユーザーがアプレットページを去るような場合に、そのJ - インテグラスレッドを有効にしておくようにする JINTEGRA_MAIN_THREADGROUP プロパティが追加されました。
java.awt.Container.add () で同じ ActiveX コントロールがコールされても例外が発生しなくなりました。
Com2java は IDispatch から派生しない COM インタフェースに対応する Java インタフェースでは DISPID_XXX メンバーを生成しなくなりました。
COM クラスがAとBのインターフェースを実装していて、両方のインタフェースが型の違うパラメータを持つ同一名のメソッドを定義している場合、com2java は正常にメンバーを生成できるようになりました。
もしCOM クラスXがAとBのインタフェースを実装していて、その両方のインタフェースが同一の実装である場合、com2java に1つのメソッドを再利用する新しいオプションを追加しました。このオプションを選択すると1つのメソッドだけをコールするためのプロキシを生成します。
シャットダウンのためのプロパティを追加しました。
JVM が通常シャットダウン(CTRL - Cが押される等)するとき、ランタイムが com.linar.jintegra.Cleaner.releaseAll() をコール可能な JINTEGRA_RELEASEALL_SHUTDOWN_HOOK プロパティを追加しました。
java2com が間違った IDL ファイルを生成していたバグを修正しました。
Java クラスが大文字小文字の違いで複数の同一のフィールド宣言をしているとき、java2com は同様の IDL コードを生成していました。 例えば、 JDK 1.4では java.awt.Button クラスは color.white 、color.WHITE のようなフィールドを含んでいます。 MIDL コンパイラは大文字小文字の違いを識別するので、問題となっていました。 Java2com は同一のフィールド宣言のために IDL ファイルで1つのフィールドだけを生成します。
java2com が IDL コードを生成するとき、Java ストリング定数に「パッケージとクラス名」を含んでいたバグを修正しました。
Windows 9X / ME プラットホーム上で Regtlb ツールが "Failed Loading Resources" エラーを出していたのを修正しました。
ActiveX コントロールがスクリーン上に残ってしまうバグを修正しました。
1つの JFrame の中に FrameA と FrameB の2つのフレームが有り、FrameB には ActiveX が埋め込まれている場合に、FrameA から FrameB にフォーカスを移しマウスで FrameB をスクリーン上で動かすと、 ActiveX コントロールが一緒に付いて行かずスクリーンに固定したまま残っていました。
Windows XP 上でJ-Integra をサポートするために JINTEGRA_RETURN_BYREFARGS プロパティを追加しました。このプロパティで Java 例外は DCOM モードでレイトバインディング使用時に VB クライアントのプロパティを取得できます。
詳細は Intrinsyc サイトのナレッジベース48776をご覧ください。
JINTEGRA_OUTGOING_CONNECTION_TIMEOUT の値が JINTEGRA_INCOMING_CONNECTION_TIMEOUT 値によって上書きされていたバグを修正しました。
com.linar.jintegra.GetJvmMoniker コマンドで DCOM_PORT 値の3桁目にコンマが追加されていたバグを修正しました。(例えば、1350)とすべきところを1,350としていました。
regjvm ツールのHelp, About, Closeボタンが表示されないモードを修正しました。
(Java - ADSI) のサンプルコードがコンパイルできなかったのを更新しました。
Com2java で COM イベントのリターン値が帰ってくるようになったのを元に戻しました。
COM から Java へ2次配列が渡せるようになりました。
日本語環境で ntvinv.dll が ResourceDll を見つけられないバグを修正。
スレッドをウェイトさせる時、JINTEGRA_OUTGOING_CONNECTION_TIMEOUT 値が渡らなかったバグを修正しました。
ドキュメトの Pass by Value セクションは、 Knowledge Base の C++ "Pass by Value" example にリンクしました。
JEB API は CDO ライブラリ( cdo.dll )にアクセスするための ocxhost は必要なくなり、ドキュメントとサンプルの Java-Exchange を変更しました。また、JEB API フォルダーのための getParent () メソッドのバグを修正しました。
Java から Bloomberg BLP Data Control にアクセスするサンプルを追加しました。
JCAーCOM 、 Java-Exchange 、Java-Excel のドキュメントはJ-Integra のドキュメントに統合され1つになりました。
ocxhost ツールを使っていたサンプルは setdllhost を使ように更新されました。 Microsoft Active Data Objects (ADO) へのアクセス以外は ocxhost ツールを使いません。
Setdllhost が失敗したときはメッセージを出します。
regprogid ツールに新しいオプションが加わりました。
/list オプション
レジストリのキー HKLM\Software\Linar\JintMkr\CLSID 内のすべてのクラスをリストします。
HKCR \ CLSID \\ ProgId レジストリキーの下で regtlb に登録されているクラスがある場合は、ProgID を探します。
/listall オプション
HKCR \ CLSID \\ ProgId レジストリキーの下で見つからない ProgIDs を探します。
JINTEGRA_LOG_ROLLOVER_LINECOUNT プロパティが追加されました。
ログファイルの行数がリミットになれば、ランタイムは既存のログファイル名にタイムスタンプ「 yyMMddHmmssSSSS 」を追加して閉じ、新たにログファイルを開き ます。
ログファイルのトップにはログヘッダーが記録され。ログファイルの最後に次の新しいログファイルの名前が記録されます。
java2com ツールが TEXTモードの UNIX マシン上で失敗していたバグを修正しました。
regjvmcmd ツールで native モードのすべてのオプションの処理をしていなかったのを修正しました。
com2java ツールがリードオンリーになっている古いプロクシファイルに上書き出来なかったのを修正しました。
JCA - COM はプラグインとしてJ-Integra に統合されました。
JCA - COM サンプルは XAResource と LocalTransaction インタフェースを実装することによってEJB でトランザクションのサポートを可能にする例です。