- PR -

VC++.NETからVB.NETで作成したDLLをコールする方法

1
投稿者投稿内容
従一位
会議室デビュー日: 2004/08/12
投稿数: 8
投稿日時: 2004-08-12 08:41
初めまして

VC++.NETでWindowsサービスを作成しようと思っていますが、
処理内容はユーザのリクエストしたときと全く同じなので、
共通部分についてはVB.NETで作成しました。

そこで、VC++.NETからVB.NETのDLLをコールするよい方法はないでしょうか。

VC++.NETからVB.NETのメソッドをコールする場合、引数・返値はありません。

ちなみに、以下にVB.NETのサンプルコードを載せます。

VBのコード
-------------------------------------------------------
Public Interface IBase
Sub DispMsg(ByVal msgText As String)
End Interface

Public Class CEnter
Implements IBase

' VC++.NETからコールされて処理するメソッド
Public Sub DispMsg(ByVal msgText As String) Implements IBase.DispMsg
MsgBox(msgText)
End Sub
End Class


よろしくお願いします。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-08-13 08:02
諸農です。

引用:

そこで、VC++.NETからVB.NETのDLLをコールするよい方法はないでしょうか。



VC++側からVB.NETのクラスライブラリプロジェクトをプロジェクト参照設定
するのはダメでしょうか?

引用:

VC++.NETからVB.NETのメソッドをコールする場合、引数・返値はありません。
ちなみに、以下にVB.NETのサンプルコードを載せます。



提示されているコードだと、引数ありですよね?

コード:
   DLLTest::IBase *base = new DLLTest::CEnter();
   base->DispMsg(S"ManagedC++から呼び出しました");



こんな感じではダメでしょうか?
※クラスライブラリプロジェクトの名前はDLLTestです。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
従一位
会議室デビュー日: 2004/08/12
投稿数: 8
投稿日時: 2004-08-13 08:16
諸農様 ありがとうございます。

ところで、VC++.NETではどのようにしてプロジェクト参照設定をするのでしょうか。
VB.NETでは、簡単に参照の追加などができるのですが、VC++.NETでの方法を教えてください。

初心者ですので、何卒よろしくお願いします。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-08-13 08:42
諸農です。

引用:

ところで、VC++.NETではどのようにしてプロジェクト参照設定をするのでしょうか。
VB.NETでは、簡単に参照の追加などができるのですが、VC++.NETでの方法を教えてください。



VB.NETと同じです。
ソリューションエクスプローラの参照ノードで「参照の追加」を選択します。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
従一位
会議室デビュー日: 2004/08/12
投稿数: 8
投稿日時: 2004-08-13 10:50
VC++.NETのソリューションエクスプローラには、参照ノードは表示されていないのですが。
プロジェクトの作成方法がまずいのでしょうか。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-08-13 12:19
諸農です。

変ですね?
ウチのVS2003ではマネージドサービスのプロジェクトでも、
Win32のプロジェクトでも表示されていますが。。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
従一位
会議室デビュー日: 2004/08/12
投稿数: 8
投稿日時: 2004-08-15 13:18
今使用しているVSは2002でした。
たぶんバージョンが違うので、参照ノードがないのだと思います。

もし、VS2002で同じようなことをすることができ増すならば、ご教授お願いします。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-08-15 21:59
諸農です。

VS2002を確認したところ、WEB参照しか見つける事が出来ませんでした。
色々やってみた結果、ビルド時には /AI でクラスライブラリへの参照
パスを設定する事でビルドは出来ますが、デバッグ実行時に自動的にア
センブリをコピーしてくれないようですので、自前でコピーする事にな
りそうです。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
1

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