掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB6.0のDLLをVC++.NETで呼び出すには? (ID:63845)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB 6.0 で作れる DLL は、ActiveX DLL です。 ActiveX というのは COM を拡張した技術であり、VC++ から呼び出そうとするなら、COM の流儀にのっとって呼ばなければなりません。 VC++ で DLL を作ると、好きな名前の関数を外部に公開できますが、ActiveX DLL が外部に公開している関数は以下の4つだけです。 ・DllGetClassObject ・DllcanUnloadNow ・DllRegisterServer ・DllUnregisterServer VB 6.0 の関数を呼びたければ、 1:DllGetClassObject で IClassFactory を作成し 2:IClassFactory::CreateInstance で、VB 6.0 で作ったクラスモジュールのインスタンスを作成し 3:そのインスタンスの IDispatch インターフェイスを取得し 4:IDispatch のメソッド経由で VB 6.0 のメソッドを呼ぶ という流れになる…のかな? (ActiveX については浅学で申し訳ない) まぁ、手順は書いてみましたが、何のことかわからないかと思います。 興味があったら COM について調べてみてください。 面倒くさそうだったら、諦めたほうがいいと思います。よほどの理由が無い限り、頑張って実現しても手間に見合った成果はないかと…
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.