Re: PInvoke question (caling conventions of C DLLs)
- From: "Armin Zingler" <az.nospam@xxxxxxxxxx>
- Date: Thu, 15 Nov 2007 01:11:44 +0100
"Anonymous" <no.reply@xxxxxxxx> schrieb
I want to call functions in a Win32 DLL from VB. The DLL in
question, is the Python DLL (python25.dll).
I have noticed something strange. When I declare the functions in
VB6 (i.e. VB classic), I get an error : "Bad DLL calling convention"
- yet when I run the same code through VB.Net, the code works fine -
my assumption is that VB.Net can make calls to C functions using
either the __stdcall OR __cdecl, whereas VB6 requires the __stdcall
calling convention.
This is just a hunch - does anyone know the technical reason for
this behaviour?
Probably you didn't change the declaration to fit the language. Integers:
16 bit: VB6=Integer; VB.Net=Short
32 bit: VB6=Long; VB.Net=Integer
64 bit: VB6=not available; VB.Net=Long
Armin
.
- References:
- PInvoke question (caling conventions of C DLLs)
- From: Anonymous
- PInvoke question (caling conventions of C DLLs)
- Prev by Date: PInvoke question (caling conventions of C DLLs)
- Next by Date: Re: PInvoke question (caling conventions of C DLLs)
- Previous by thread: PInvoke question (caling conventions of C DLLs)
- Next by thread: Re: PInvoke question (caling conventions of C DLLs)
- Index(es):
Relevant Pages
|