OLE ActiveX COM とかいうもの

OLE、ActiveX、COM。
Windowsのなんだかよくわからないが、ややこしそうなそうなやつという認識だったが、必要になったので調べた。
OLE(Object Linking and Embedding)とは、アプリケーション間でデータを転送や共有する仕組みである。ActiveXとは、OLEをインターネットに対応させたものの名称である。OLEを利用した部品はOLEコントロールと呼ばれている。OLEコントロールを拡張されたものがActiveXコントロールである。OLEコントロールテクノロジが名前を換え、再構築されたものがActiveXコントロールのため相違はない。COM(Compornent Object Model)は、ActiveXの基盤技術である。ActiveXコントロールは、OLEオブジェクトであり、COMオブジェクトである。COMオブジェクトは、言語やコンポーネントのある場所に関わらず、そのメソッドを呼び出すことができる。

あまりよく分かっていないことが、分かっていただけたと思う。

個人的な理解としては、ActiveXコントロール(dllやexeがある)をレジストリに登録しておくと、レジストリ経由でコンポーネントを見つけてくれて、さまざまな言語間のデータ型を解消できるバリアント型のようなもので引数と関数値がラップされた手続きを経由して対象関数を実行できるもの。たとえば、IEを自分で作ったウィンドウへ埋め込んで、それは別プロセスなんだけど、その関数を呼び出せる。プロセス間通信の方法を定義して、それを関数でラップしたようなイメージ。
ActiveXコントロールには、IEやMediaPlayer、Word、Excel、AcrobatReader、Geckoなどがあって便利。

個人的に重要なのは、これがDWTから使えるということ。
実際はもっとややこしいそうだから、はまらないために直接扱わないようにする。

  • 使うリスト
  1. IE
  2. MediaPlayer

基本的にプラグインで強化したIEでこと足りるけど、動画を再生するプラグインは、たぶんQuickTimeだろうと思ってて、で、たまに開けなくてMediaPlayerがポップするので、じゃあ元からMediaPlayer埋め込みでいいやんと。細かい調節ができるし、コーデックも豊富だし。どっちのコントロールでタブを開くかは、拡張子で分ける。