1.xが同じプロセス空間にロードできない問題と互換性の問題があるため、マネージコードでCOMを作ることはお薦めしません。0.はじめに@ITでサンプルよこせーというようなニュアンスの発言を受け取ったのでのんびりと書いていきましょう。Professionalです。1.プロジェクトを作る「クラスライブラリ」を選択して、プロジェクトを作ります。Frameworkのバージョンの選択はお好みでどうぞ。2.インターフェースを作るプロジェクトメニュー等から新しい項目を追加でインターフェースを追加します。3.インターフェースにCOMとして公開するために必要な属性をつけるComVisible属性でCOMに公開するかどうかを設定でき、trueだと公開になります。ClassInterface属性で遅延バインディングを認めるという意味でAutoDispatchにしています。必要に応じて変えて下さい。最後のGuid属性でインターフェースに対してGUIDを設定しますが、このGUIDはツールでインターフェースやクラス毎に必ず違うものを生成して下さい。Format」で「Copy」ボタンを押して、クリップボードにコピーした文字列をGuid属性のところに入れます。}の部分は外して下さい。GUID」ボタンを押して下さい。例:{D62189BE-C74D-46f5-8223-E0B8EC508BE5}が出てきたら、Guid属性には”D62189BE-C74D-46f5-8223-E0B8EC508BE5”を設定する。4.インターフェースにメソッド・プロパティを追加ひとまず、こんなところで、作ってみました。毎度おなじみのプロジェクトの新しい項目の追加からクラスを作成します。作成されたクラスで、インターフェースを実装するというように書きます。ITestClass{}さらにクラス側にも色々と属性をつけておきます。ITestClassここでITestClassと書いた部分にカーソルを合わせると下線が出てくるのでクリックして、メニューからインターフェースを実装しますを選択する。すると、インターフェースを実装するスケルトンコードがずらずらと出てくるので中身を埋めていきます。}}6.レジストリ登録するためにプロジェクトの設定を変えておく順番が前後しましたが、プロジェクトの設定を変えておかないと、COMとして利用できる形に登録されません。プロパティを選択します。ソリューションエクスプローラでプロジェクトを右クリックしてプロパティを選択しても構いません。表示された画面から「ビルド」タブを選択して、下の方にある「COM相互運用機能の登録」にチェックを入れておきます。この設定をしておくことで、ビルドしたときに自動的にレジストリに登録されるようになります。Studioを管理者権限で起動する必要があるかもしれません。)7.ビルドする構文エラーとか特に問題がなければ、さっくりとビルドが成功するはずです。8.使ってみるRubyは普段触りません。検索で引っかかった情報を元に適当に組みました。test.rbにような形で食わせると、次のように出力されます。World!33289ちゃんとCOMが呼び出せている様子です。導入部分としては目的を達成できたかと思います。・今回WIN32OLEモジュールを使っています。Dispatchなインターフェースがないとこの方法では使えないので属性の設定を無闇に変更しないようにしましょう。・「とりあえず動いた」の状態ですので、これをスケルトンコードにしないようにしましょう。コマンドを使用します。・属性の意味はMSDNを見て調べましょう。10.サンプルソースhttp://cid-9e1932af4be9e15d.skydrive.live.com/embedrowdetail.aspx/.Public/ComTestLibrary.zip※GUIDはそのまま使用しないようにしましょう。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Themes上にスクロール。