|
まどか、渋木宏明、ちゃっぴ様
お世話になります。早速のご回答ありがとうございます。 開発環境を記載していませんでしたが、OS:WindowsXP Professional 言語:VB6.0 SP6です。
> いいえ。 > タイプID、クラスIDとも維持されます。>でないと「互換」と矛盾します。 ⇒MSDNを参照すると、 そもそも、VB6.0でAxtiveX dllをコンパイルすると、以下の3つの種類のIDが振られると理解しました。 ・コンポーネント自体に割り振られるGUID(クラスID) ・各インタフェースに割り振られるGUID(インタフェースID) ・各インタフェースのメソッドに割り振られるDispatchID バイナリ互換では、 1)既存インタフェースのメソッドのパラメータに変更がない場合 ⇒GUID,インタフェースID,DispatchIDは互換を保つ。 2)既存インタフェースのメソッドのパラメータ、もしくはインタフェースに変更がある場合 ⇒コンパイルしようとすると、バイナリ互換の参照ファイルとの相違があるとの警告が出る。 警告を無視して、コンパイルした場合、GUID,インタフェースID,DispatchIDは新規に割り 当てられる。 3)既存インタフェースのメソッドが追加された場合 ⇒GUID,インタフェースID,DispatchIDは互換を保つ。ただし、新たに追加されたメソッドの DispatchIDは新規に割り当てられる。
以上のことより、既存インタフェースのメソッド、インタフェースのパラメタに変更がある場合は、 バイナリ互換であっても、GUID,インタフェースIDは変更されてしまうように見受けられます。 ※すいません。今開発環境が手元にないので、明日実際にテストモジュールを作って上記のことを 確認してみようと思います。
> アレンジとは?>みんながわかる言葉でお願いします。 ⇒申し訳ありません。Windowsレジストリより対象コンポーネントの登録を解除することです。 > オプションの使い方としては > 初回コンパイル → 互換なし > 開発中 → プロジェクト互換 > リリース後 → バイナリ互換 > です。 ⇒プロジェクト互換がまだ、イマイチつかめてませんが、もう一度MSDNを読み返してみます。
まずは、お礼と経過報告までに。
|