- ベストアンサー
VSのDLLをVB6で利用
Visual Studio で作成したDLLをVB6に取り込んで利用しようとしていますが、 うまくいきません。 参照利用すること自体は可能なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どこがうまくいかないのか分からないので陥りやすい注意点を。 ・VSからはCOMクラスとして作成する必要があります。(クラス属性の変更、GUIDの設置、プロジェクトをCOM参照にするなどなど。クラスはCOMクラス用のテンプレがあります) ・レジストリへの登録はRegAsm.exeで。(.NET Frameworkのバージョンごとにあるので開発と同じバージョンを使います。RegSvr32.exeでは登録できません。) ・オーバーロード、引数付きコンストラクタ等、COMにない仕様のクラス・メンバーは使えません。メソッド等の変数の型にも気をつける必要があります。特に配列は少しややこしかった記憶が・・・。 そのほか「VB.NET COMクラス」で検索するといろいろ見つかります。
その他の回答 (1)
- uchan777
- ベストアンサー率0% (0/2)
VSも同じ6.0でしょうか? 基本的にはVSで作成したDLLもVB6.0から呼ぶことはできます。 APIなどを利用するようにDeclare宣言をすれば使用できるはずですよ。 例)GetModuleFileNameを使用するとき Declare Function GetModuleFileName Lib "kernel32.dll" _ Alias "GetModuleFileNameA" _ (ByVal hModule As Long, _ ByVal lpFileName As String, _ ByVal nSize As Long) As Long 具体的にどのようなインタフェースでDLLを使用してどのように上手くいかないか書いてもらえればアドバイスできると思うのですが・・・