I try to call a DLL function in my C++ application using VC++.NET.
The following code failed:
public:
[DllImport("My_Win32_Dll.DLL",
CallingConvention:=CallingConvention::Winapi)]
static int MyAdd1(int i,int j);
[DllImport("My_Win32_Dll.DLL",
CallingConvention:=CallingConvention::Winapi)]
static int MyAdd2(MyData d);
private:
System::Void button1_Click(System::Object * sender, System::EventArgs
* e)
{
MyData d;
int i,j,k;
d.data1=Convert::ToInt32(textBox1->Text);
d.data2=Convert::ToInt32(textBox2->Text);
k = MyAdd2(d);
textBox3->Text = Convert::ToString(k);
i = Convert::ToInt32(textBox1->Text);
j = Convert::ToInt32(textBox2->Text);
k = MyAdd1(i,j);
textBox4->Text = Convert::ToString(k);
}
====================
But the following code works:
====================
public:
[DllImport("My_Win32_Dll.DLL",
CallingConvention:=CallingConvention::Winapi)]
static int MyAdd2(MyData d);
private:
System::Void button1_Click(System::Object * sender, System::EventArgs
* e)
{
MyData d;
int i,j,k;
d.data1=Convert::ToInt32(textBox1->Text);
d.data2=Convert::ToInt32(textBox2->Text);
k = MyAdd2(d);
textBox3->Text = Convert::ToString(k);
}
Also, the following code works:
public:
[DllImport("My_Win32_Dll.DLL",
CallingConvention:=CallingConvention::Winapi)]
static int MyAdd1(int i,int j);
private:
System::Void button1_Click(System::Object * sender, System::EventArgs
* e)
{
MyData d;
int i,j,k;
i = Convert::ToInt32(textBox1->Text);
j = Convert::ToInt32(textBox2->Text);
k = MyAdd1(i,j);
textBox4->Text = Convert::ToString(k);
}
How can I call the 2 functions in my application?