2009-04-27 1 views
0

У меня есть простой DLL, написанный на VC6 с одной функцией:Вызов простой VC DLL из VB6

__declspec(dllexport) int myfunc(long a, unsigned char *b, unsigned char *c, unsigned char *d, unsigned char *e) 

И им, назвав его из VB6 с помощью:

Declare Function myfunc Lib "mylib.dll" (ByVal a As Long, ByVal b As String, ByVal c As String, ByVal d As String, ByVal e As String) As Long 

.... 

dim a as long 
dim b as string 
dim c as string 
dim d as string 
dim e as string 
dim r as long 

r=myfunc(a,b,c,d,e) 

Im получаю «плохо длл вызова условная "ошибка, но я не могу понять, почему. Есть идеи?

ответ

3

Вообще говоря, «плохая DLL ...» означает, что он говорит. VB6 требует соглашения _stdcall (например, Win API) для любых внешних функций, которые он вызывает.

Попробуйте добавить __stdcall в прототип функции C и посмотреть, что произойдет.

 Смежные вопросы

  • Нет связанных вопросов^_^