ActiveX DLLをMFC DLLでラップするには?


SS  2006-05-13 06:43:27  No: 61793

VB6.0で作ったActiveX DLLをVC6.0で作るMFC DLLでラップするということは可能なのでしょうか?

また可能な場合、どのようにやれば良いのでしょうか?


Ban  2006-05-14 06:50:02  No: 61794

ラップする、の定義にもよるでしょう。

そのActiveXを使うMFC DLL を作って、ユーザはそちらを使う。
ただし、システムには ActiveX DLL を別途(or MFC DLL の中で)
追加する必要がある。

ということなら、やってみたことはないですが、まぁできるのでは。

ActiveX DLL を完全に見せないようにしたいということであれば、
少なくとも私の知る限りでは無理だと思います。

# ActiveX をそのままC++から参照するか、C++に移植しちゃうのが早そうな。


SS  2006-05-16 19:22:22  No: 61795

すみません。私も、「ラップする」の意味が良くわからなかったので質問させて頂きました。

上記のような表現を使った場合、普通はどういうことを指すのかなと。


kure  2006-05-16 20:49:22  No: 61796

ActiveX DLLをMFCの拡張(または標準)DLLでラップすることに意味があるかちと疑問。

理由は

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnaskdr/htm/drgui54.asp

以前に提示していただいた↑のサイトのなかの

> Visual Basic が要求するのは、コンポーネント マネージャへの
> インターフェイス ポインタです。

という記述があるためです。
MFCのDLLに上記の「コンポーネントマネージャ」が自動的に付加されることはないのではないでしょうか?

> 上記のような表現を使った場合、普通はどういうことを指すのかなと。

上記のような表現だけでは普通は伝わりません。
ラップしたくなるケースは複数あるためです。
例えば
1)共通インターフェイスを作りたくなった
2)下層を外部に公開したくない
3)下層に問題がありそれを上層で強引にリカバリーするため
などの理由が考えられます。

今回の場合は、経緯を見ていると3)に該当すると思われますが、
経緯を知らない方からみれば、このスレだけを見て「ラップする」の意味を
具体的にはかりかねるのは当然だと思いますよ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加