JavaBeans Bridge for ActiveX

● Beans Bridgeとは?
 JavaBeans Bridge for ActiveXは、 BeanをActiveXコントロール(OLEコントロール)であるかのように扱い、 VisualBasicなどのWindowsアプリ内で使えるようにする、 つまり、BeanをActiveXコントロールに「変換」するユーティリティです。 現在は無償で配布されているJavaプラグイン 1.3に同梱されているので、 これをインストールする必要があります。 Javaプラグイン 1.3をインストールすると、 binディレクトリ中の「beans.ocx」がWindowsレジストリに登録されます。 このbeans.ocxの位置を変えた場合、regsvr32コマンドなどで、 レジストリの中を変更する必要があります。

● 変換の手順
 では、実際にJavaべた書きでBeanを作る で作ったBean「SampleBean」を、「SampleBean ActiveXコントロール」 に変換してみます。
(1)
 JavaBeans Bridge for ActiveXの正体は、「sun.beans.ole.Packager」 というJavaで書かれたGUIアプリケーションです。 BeanをActiveXコントロールに「変換」するには、 この「Packager」を起動して指示に従っていけばOKです。

dos> SET PATH=C:\progra~1\javasoft\jre\1.3\bin;_
  C:\jdk1.2.2\bin;c:\windows;C:\windows\command;.
dos> SET CLASSPATH=C:\progra~1\javasoft\jre\1.3\lib\rt.jar;_
  C:\progra~1\javasoft\jre\1.3\lib\jaws.jar;.
dos> java sun.beans.ole.Packager
(行末の下線は改行せずに次の行と連結する意味です)

(2)
 こんな画面が出ればOKです。出てこない場合は、 Javaプラグインのjavaインタープリタが動作するか再度確認します。

 
   なんか一部文字が化けていますが、気にしない、気にしない (こらー!)書いてある通り、「JavaBeansを含むファイル」、 つまりJARファイルを指定します。前の例では、sample.jarですね。

(3)
 選択したJARファイルに含まれているBeanの一覧が出るので、 希望のBeanを選びます。ここでは、「ushi.sample.SampleBean」 しかないため、これを選んで進みます。

 
 

(4)
 今度は、このBeanがActiveXコントロールになったときの名前を指定します。 特に理由がなければ、Beanのときのクラス名のままでもいいでしょう。

 
 

(5)
 タイプライブラリ(.tlb)とレジストリファイル(.reg) を出力するディレクトリは好きな位置を指定してOKです。 ここで指定するパスが、コントロールの「インストール先」 ということになります。 タイプライブラリのパスはレジストリ中に保存されているため、 この位置を変えた場合には、手動でレジストリに再登録する必要があります。

 
 

(6)
 最後の画面です。「作成開始」で変換が行われます。 .tlbファイルと.regファイルが出力され、レジストリにこのパスが保存されると、 「SampleBean ActiveXコントロール」の完成です。

 
 


● VisualBasicで使う
 ではさっそくVisualBasic(ここではExcel97 VBA) でこのSampleBeanコントロールを使ってみます。 VisualBasic Editorのメニュー「ツール」→「その他のコントロール…」 でコントロールの一覧を出すと…
 ご覧の通り、他の「純正の」ActiveXコントロールと同じように SampleBeanコントロールが並んでいるのが確認できます。
 
   フォームに貼りつける方法は普通のボタンなどのコントロールと同じです。
 
   画面左下、コントロールのプロパティの部分! Bean時代のプロパティがそのまま表示されていて、 ここで編集も可能なのです。こいつはすげえや! 貼りつけたとき、残念にも「パスが無効です」エラーで異常終了するときは、 レジストリ内のJARファイルのパスがおかしい可能性があるので、 \HKEY_CLASSES_ROOT\CLSID\????????????\JarFileName を確認します。


● PowerBuilderで使う
 今度はPowerBuilderのウィンドウに貼りつけてみます。 ウィンドウペインタのメニュー「コントロール」→「OLE 2.0」 で一覧を出します。ご覧の通り、こちらも普通のコントロールに交じってヤツが並んでいます。
 
   で、下のようにウィンドウに貼りつけることができるわけですが、 VBと違い、Beanにカスタマイザウィンドウクラス (???Customizer)を定義してないと、GUIでプロパティを設定することはできません。 カスタマイザを定義しない場合、プロパティはコード中で設定するしかないようです。
 
 

ActiveX&Java Top
(uploaded 2000/06/17 and not ever modified, KQ Taura - EK)

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル