- PR -

VB.NETからVB6.0のDLLをそのまま参照することは可能か

1
投稿者投稿内容
悟天
常連さん
会議室デビュー日: 2006/05/02
投稿数: 28
投稿日時: 2006-06-13 23:43
VB.NETのプロジェクトからVB6.0で作成したDLLを参照したいです。
VB.NETからVB6.0のDLLをレジストリ登録してCOMコンポーネント
を参照することは試してみたのですが、
VB6.0のDLLをそのまま(COMコンポーネントとしてではなく)VB.NETから
参照することは可能でしょうか。
DLLを参照設定し呼び出すこと自体はできたのですが、
不具合が生じる可能性、問題事例等ありますでしょうか。
.NETのバージョンはVisualstudio2003です。

[ メッセージ編集済み 編集者: toro 編集日時 2006-06-13 23:49 ]
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-06-14 06:59
引用:

toroさんの書き込み (2006-06-13 23:43) より:
VB6.0のDLLをそのまま(COMコンポーネントとしてではなく)VB.NETから
参照することは可能でしょうか。


VB6.0ではCOMコンポーネント以外のDLLを作ることは出来ないはずですが、どのような意図で質問していますか?
「VB.NETからCOMコンポーネントではない、普通のDLLを呼び出せるか?」と言う事なら、もちろん呼び出せます。ですが「VB6.0でCOMコンポーネントではないDLLを作れるか?」と言う意味なら、もちろん出来ません。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-14 07:40
引用:

toroさんの書き込み (2006-06-13 23:43) より:

DLLを参照設定し呼び出すこと自体はできたのですが、
不具合が生じる可能性、問題事例等ありますでしょうか。


ここで、解決しているような...
参照設定できたということは、レジストリに登録することにしたのではないのでしょうか。

# 強いていえば、COM を使うこと自体が問題というより難題ですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
悟天
常連さん
会議室デビュー日: 2006/05/02
投稿数: 28
投稿日時: 2006-06-14 08:34
ご返信ありがとうございます。

以下の内容を参考にしてレジストリ登録しました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30566&forum=7
VB6のDLLがすでにCOMコンポーネントであるということは、
.NETからVB6を参照する場合と、VB6から.NETを参照する場合では方法が異なるのでしょうか?
[実行した手順]
@ファイルを指定して実行
 regsrv32 VB6のDLLのパスを指定
AVB.NETの参照設定
 @の実行によりCOMの選択欄にVB6のDLL名が選択できるようになりました。

「COMコンポーネントを作成せずに参照設定した」というのは、
VB.NETの参照設定画面でCOMではなくプロジェクトタブを選び
DLLのパスを参照して追加したという意味です。
この場合regsrv32を使ってレジストリ登録はしていません。
COMタブを選択しても選択欄に使用したいVB6のDLL名は存在しません。

以上、よろしく願いします。

[ メッセージ編集済み 編集者: toro 編集日時 2006-06-14 08:46 ]

[ メッセージ編集済み 編集者: toro 編集日時 2006-06-14 08:51 ]
1

スキルアップ/キャリアアップ(JOB@IT)