- PR -

[C#] VB6用OCXの参照

1
投稿者投稿内容
ひろし
ぬし
会議室デビュー日: 2002/09/16
投稿数: 390
お住まい・勤務地: 兵庫県
投稿日時: 2004-08-17 10:11
質問の背景
C#からVB6用のOCX(例 Microsoft Chart Control 6.0)を参照する配布
アプリケーションを作成場合、デブロイメントプロジェクトを作成し、マージ
モジュールを追加しなければならない仕組みになっていることを知りました。
なぜ、このような回りくどい方法が必要になったのか不思議に思いました。

Q1.マージモジュールの役割
   そもそもマージモジュールはどのような働きするためものでしょうか?
   OCXファイルの場所が分かっているだけではだめなのでしょうか?
   例 Microsoft Chart Control 6.0の場合
     VB_Control_mschart_RTL_X86_---.msm
     VB_Control_mschart_RTL_X86_JPN.msm

Q2.OCXによって配布方法に違いがあるか
   マージモジュールの追加は上述のOCX特有の約束ごとでしょうか。
   それともVB6用に作成された全てのOCXに共通した約束事なのですか?
   一言にOCXといっても実装内容によって配布方法に違いがあるのでしょうか。

Q3.OCX呼び出しのオーバーヘッド
   下記(1)と(2)でOCXを参照する部分のオーバーヘッドに違いはあるのでしょうか?
   つまり、C#からOCXを呼び出す場合、内部的に余分なオーバーヘッドがかかるの
   でしょうか。
 (1) VB6からVB6用OCXを参照し、VB6ディストリビューションウィザードで
   インストーラを作成する
 (2) C#からVB6用OCXを参照し、マージモジュールが追加されたデブロイメント
   プロジェクトでインストーラを作成する

※インストーラの作成自体は問題なくできています。そういった意味で差し迫った問題では
 ないのですが、マージモジュールおよびOCXの参照メカニズムについて理解できていな
 いので勉強のために質問しました。


[ メッセージ編集済み 編集者: ひろし 編集日時 2004-08-17 10:24 ]
1

スキルアップ/キャリアアップ(JOB@IT)