Я хочу задать вопрос о том, как вызвать VB.NET DLL из C ++ программы
Я много раз пытался вызвать VB.NET DLL файл из C ++, и он работает нормально, но проблема в том, что я могуне вызывать функцию файла DLL VB.NET (я могу загрузить только файл DLL VB.NET)
в DLL VB.NET У меня есть следующий код:
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 \n");
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 << "\nThe function number 1 is " << p_func1(i) << endl;
}
else
{
cout << "\nFailed" << endl;
cout << GetLastError() << endl;
}
// Function No 2 //
if (p_func2 != NULL)
{
cout << "\nThe function number 2 is" << p_func2(&i) << endl;
}
else
{
cout << "\nFailed" << endl;
cout << GetLastError() << endl;
}
}
else
{
printf("\nDLLs file Load Error");
cout << GetLastError() << endl;
}
cout << GetLastError() << endl;
return(0);
}
Мои следующие шаги:
1) Я создал VB.NET DLL.
2) Я создал новое приложение Visual C ++ и выбрал «win32».консольное приложение "
3) Я написал код для вызова DLL и функций (как вы можете видеть выше)
я что-то пропустил в шагах или кодепотому что я могу вызвать файл DLL VB.NET, но не могу вызвать функцию DLL VB.NET
, как вы можете видеть, я написал GETLASTERRIR (), чтобы найти ОШИБКУ
cout << GetLastError () << endl;</p>
но я обнаружил эту ошибку 127 в функции при сбое и 203 в файле DLL вызова
кто-нибудь может мне помочь
Большое спасибо
С уважением