ActiveXをSWTアプリケーションから呼び出す

2006/07/30

java windows 開発

t f B! P L
記事内に広告が含まれています。

以前、ActiveXで作られた機能をJavaアプリケーション、というか、 SWTアプリケーションから呼び出す必要があり、いろいろ調べたので、メモ。

そのときは、ActiveXのコンポーネントがIEから呼ばれることしか考えられて いなくて、画面の再描画まわりがまともに動かなく、IEコンポーネント経由で 呼び出すという手で逃げた。

まずは参考文献。googleで調べても、JavaのコンポーネントをActiveX化する話は よく見つかるが、ActiveXのコンポーネントを取り込む話はほとんど見つからない。
dW : Open source : ActiveXコントロールをSWTアプリケーションへ統合する は、そんな状況の中、非常に役立つページだ。この内容を十分に理解すれば、 他をあたる必要はないだろう。サンプルがAcrobat Reader 5.0なので、実際に 動かしてみるにはちょっと手間がかかるが。そのまま動かす場合、他のバージョンで 代用できるわけではないので注意。ちょっと昔のアプリケーションのCD-ROMを 探せば、Actobat Reader 5.0が見つかるだろう。

他のバージョンのAcrobat Readerを使う場合、あるいは、自分が使いたい ActiveXを使って同様のサンプルをつくってみる場合、サンプルのPDF Viewクラスの 22行目、PDF.PdfCtrl.5を変更する必要がある。ActiveXのインタフェースを定義する 際に使用した名前だ。ついでに、どんなメソッドを公開しておいたかも確認して おこう。記事にあるように、ant activexと実行するとJavaから呼び出せるメソッドが リストアップされるので、見比べるとよい。

通常のActiveXコンポーネントであれば、以上のヒントでJavaアプリケーションに 組み込めるであろう。IE上でしかまともに動かないActiveXであった場合、 素直にIEコンポーネント経由で呼び出すようにした方がいい。 IEコンポーネントも1種のActiveXなので、同様の手順で組み込める。 組み込めるだけはなく、読み込んだページ中にあるJavaScriptをメソッドとして 呼び出すことが可能だ。だから、ActiveXの提供するメソッドをすべてJavaScriptから 呼び出すようにすれば、SWTからIEコンポーネント経由でActiveXのメソッドを 呼び出せる。また、メソッドをJavaScriptで拡張できるというのも、大きなメリットで あろう。

楽天で探す
楽天市場
にほんブログ村 IT技術ブログへ

人気の投稿

ブログ アーカイブ

自己紹介

パワハラをなぁなぁで済まそうとする奴がCxOやっている会社を辞めました。ストックオプションは半分しか行使できなかったけど、あんな人たちには関わりたくないですね。

アフィリエイト

  • 当ブログ「Hiroaki's blog」は、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。
  • 当ブログでは、第三者配信による広告サービスを利用しています。このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報 (氏名、住所、メール アドレス、電話番号は含まれません) を使用することがあります。このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、ここをクリックしてください。
  • アクセストレードアフィリエイトプログラムに参加しています。
  • A8.netアフィリエイトプログラムに参加しています。
  • バリューコマースアフィリエイトプログラムに参加しています。
  • もしもアフィリエイトプログラムに参加しています。

プライバシーポリシー

当サイトにアクセスされる場合、IPアドレスなどの情報または閲覧状況に関するデータが機械的に生成され、場合によっては個人情報と関連付けられる可能性があります。プライバシー保護に関する適用法に準じて、これらの通信および閲覧に関するデータを収集、処理、および利用することがあります。
当サイトにアクセスされる場合、非個人情報(ブラウザの種類、OSの種類、ドメイン名、訪問数、平均滞在時間、ページ・ビューなど個人を特定できない情報)が自動収集される場合があります。当サイトのパフォーマンスやコンテンツを改善する目的で、これらの情報を利用する場合があります。
アフィリエイトでは成果を把握するためにcookie等を利用しています。それ以外の目的で使用されることはありません。詳しくは各社のページにて確認してください。
本サイトに掲載する情報に関しては、正しいものを提供することを務めていますが、掲載内容から、いかなる損失や損害などの被害が発生しても、当ブログでは責任を追いかねます。

改正電気通信事業法に関する表記

・掲載内容

当サイトでは成果報酬型広告/クリック型広告の効果測定のため、利用者の方のアクセス情報を外部事業者に送信しております。
当該の情報は個人を特定する情報ではございません。また当該の情報が目的外利用される事は一切御座いません。

1.送信される情報の内容
  • 広告の表示日時
  • 広告のクリック日時
  • 広告の計測に必要なクッキー情報
  • 広告表示時及び広告クリック時のIPアドレス
  • 広告表示時及び広告クリック時に使用されたインターネット端末およびインターネットブラウザの種類
2.送信先となる事業者の氏名又は名称
  • グーグル合同会社
  • 楽天グループ株式会社
  • アマゾンジャパン合同会社
  • ヤフー株式会社
  • 株式会社ファンコミュニケーションズ
  • 株式会社もしも
3.利用目的

成果報酬型広告/クリック型広告の効果測定および不正防止のため

QooQ