c语言写dll让vb调用,如何从C调用VB.NET DLL(也调用函数 – 不仅仅...

我想问一下如何从C程序调用VB.NET DLL的问题

我已经多次尝试从C调用VB.NET DLL文件,它工作正常,但问题是我无法调用VB.NET DLL文件的功能(我只能加载VB.NET DLL文件)

在VB.NET DLL中我有以下代码:

Public Function example_function1(ByVal i As Integer) As Integer

Return 3

End Function

Public Function example_function2(ByVal i As Integer) As Integer

Return 3

End Function

============================

我的C代码是:

typedef int (__stdcall *ptf_test_func_1_type)(int);

typedef int (__stdcall *ptf_test_func_2_type)(int*);

int i =1;

HINSTANCE dll_instance = LoadLibrary("DLLs7.dll");

int main()

{

if(dll_instance !=NULL)

{

printf("The DLLs file has been Loaded

");

cout << GetLastError() << endl;

ptf_test_func_1_type p_func1=(ptf_test_func_1_type)GetProcAddress(dll_instance,"Class1::example_function1");

ptf_test_func_2_type p_func2=(ptf_test_func_2_type)GetProcAddress(dll_instance,"Class1::example_function2");

// Function No 1 //

if (p_func1 != NULL)

{

cout << "

The function number 1 is " << p_func1(i) << endl;

}

else

{

cout << "

Failed" << endl;

cout << GetLastError() << endl;

}

// Function No 2 //

if (p_func2 != NULL)

{

cout << "

The function number 2 is" << p_func2(&i) << endl;

}

else

{

cout << "

Failed" << endl;

cout << GetLastError() << endl;

}

}

else

{

printf("

DLLs file Load Error");

cout << GetLastError() << endl;

}

cout << GetLastError() << endl;

return(0);

}

我的以下步骤是:

1)我创建了VB.NET DLL.

2)我创建了一个新的应用程序visual C并选择了“win32控制台应用程序”

3)我已编写代码来调用DLL和函数(如上所示)

我错过了步骤或代码中的任何内容,因为我可以调用VB.NET DLL文件,但我无法调用VB.NET DLL函数

正如你所看到的,我写了GETLASTERRIR()来找到错误

cout<< GetLastError()<< ENDL;

但我发现失败时函数中的错误127和调用DLL文件中的203

谁能帮我

非常感谢你

问候

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值