mfc-ml

2002年02月

28

[mfc 38350] Re: COMについて

これらは比べるもんじゃないような・・・。

COM、ATL、ActiveXなどなどは規格であり、
それを提供する場がDLL、OCXときにはEXEです。
28

[mfc 38349] RE: COMについて

 渋木です。

> DLLも関数名は同じまま中身を替えることはできますよね?

 可能ですね。

>上書きという感じで dllの 入れ替え で、やっぱりそれだとそのdllがほかで使われ
てると問題になるからだめですよね?

 そうですね。
 ただしそれは、.dll 型のCOMサーバでも状況は同じです。(だって .dll だか
ら)

> COMの場合一意のIDのようなものをそのひとつのCOMファイルごとに振るのでしょう
か?

 そうです。

 ただし、.dll にではありません。
 1つの.dll または .exe には、1つ以上のCOMコンポーネントを格納することが
できます。

 CLSID (クラスID)は、COMコンポーネント対して1つ割り当てられます。

> そうして継承したメンバ関数名は同じでも中身が違うのでIDというものでレジスト
> リで管理すると言うことなんでしょうか?

 あたらずしも遠からずってとこですね。

>で、バイナリ互換がCOMのメリットとよく聞きますがバイナリ互換にするにはDLLで
はだめなのでしょうか?

 できなくはないけど、著しくコストが高くつく割には達成レベルが低くなります。
 一連の DLL Hell と呼ばれる問題がそれです。(検索してみてください)

>単純に関数名と引数がわかれば使えそうな気もしますが、そこらへんCOMだとどうバ
イナリ互換になるのかがいまいちわかりません。
> ご教授を・・・

 「バイナリ互換になる」のではなく、「バイナリ互換を保証しやすくなる」ので
す。

--
// 渋木宏明 (Hiroaki SHIBUKI)
// mailto:h...@widget.co.jp
//
28

[mfc 38348] RE: リストビューにコンボボックス

 渋木です。

> 該当箇所をクリックorダブルクリックしたときに、
> コンボボックスをCreateして表示。
> 内容を選択して、選択対象をリストに反映する
> という流れでおおまかにはよろしいのですか?

 よろしいんじゃないでしょうか。

 あるいは、最初にコンボボックスを作成しておき、表示/非表示で制御した方がコー
ドがシンプルになるかもしれません。


--
// 渋木宏明 (Hiroaki SHIBUKI)
// mailto:h...@widget.co.jp
//
28

[mfc 38347] Re: [mfc 38335] Re: [mfc 38333] ADO使用時のMSアクセスの有無について

本野です。
皆さん早速の回答ありがとうございます。

すいません、クライアントの環境を書きませんで...
クライアントは、Win2000をインストールしただけのマシンに
MDAC 2.6をインストールしています。

> あとMDAC2.6以降?だとJet 4.0のエンジンが入ってないのでいれないと駄目かもし

> ません。(Jet40SP3_Comp.exe)

明日、このJet 4.0をインストールして、
テストしてみます。

よろしくお願いします。
28

[mfc 38346] Re: ActiveXDLL から Recordsetを返してもらう方法

田吾作です。

MSDN 2001年10月リリースの
サポート技術方法
 ∟インターネット開発
   ∟Active Server Pages
に以下の記事があります。

[HOWTO] レコードセットを返す Visual Basic COM オブジェクトを実装する方法 

VBなので参考にならないかも...
記事検索
Amazon.co.jp
  • ライブドアブログ