|
分類:[VB.NET/VB2005 以降]
現在、VC++で作成したDLLを VB.NETでコールする処理を作成しているのですが、 「エントリポイントがみつかりません」と言われ、実行できません。
下記はVB.NETとVC++のソースです。 どの部分が悪いのでしょうか??
使用エディタ:VS2005
VB.NET Form1.vb---------- Imports System.Runtime.InteropServices
Public Class Form1 <DllImport("DllTest.dll")> _ Public Shared Function average _ (ByVal Add1 As Integer, _ ByVal Add2 As Integer) _ As Integer End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Sum As Integer = CInt(Me.TextBox1.Text) + CInt(Me.TextBox2.Text) Dim Ave As Integer = average(CInt(Me.TextBox1.Text), CInt(Me.TextBox2.Text)) MessageBox.Show(Sum.ToString, "合計値", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information) MessageBox.Show(Ave.ToString, "平均値", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information) End Sub End Class ----------------------------------
VC++ DllTest.cpp------------------------------ #include <windows.h> #include "DllTest.h" extern "C" int average(int ,int ); BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return TRUE; } // 平均値算出関数 int average(int n1,int n2) { return (n1+n2)/2; } DllTest.def---------------------------- LIBRARY "DllTest" DESCRIPTION "モジュール定義ファイル" VERSION 1.1 ; とりあえず適当にVerセット EXPORTS average @1 NONAME ------------------------------------
|