How to import dll functions using MS's __stdcall.
		- by Borland Developer Support Staff
 
 Question and Answer Database
FAQ1574C.txt   How to import dll functions using MS's __stdcall.
Category   :Linker
Platform    :All
Product    :BC++  5.x
Question:
When trying to create a .LIB-file from a DLL created in 
MSVC ++ 4.2 i get an error message from IMPLIB:
Exception C0000005: Access violation
Module: IMPLIB.EXE Start Adress: 00410000
...
(Creating a .LIB-file from winsock.dll works fine.)
I can create a .LIB that works by:
1. using DUMPBIN /EXPORTS...
2. create a .DEF-file with ordinals using information from 1 
3. using IMPDEF to create .LIB-file from .DEF-file
The problem with this approach is that the program cannot 
locate the functions in the DLL at runtime.
Does anyone have a solution?
Answer:
There is a workaround for MS DLL's that export using __stdcall
but it requires editing the .def produced by impdef by hand. 
When you imdef the dll your .def file
will look similar to this:
LIBRARY DLLNAME.DLL
EXPORTS
__funcname_1@8 = __funcname_1 @1
__funcname_2@4 = __funcname_2 @2
It needs to be changed to this:
IMPORTS
funcname_1=DLLNAME.__funcname_1@8
funcname_2=DLLNAME.__funcname_2@4
Add the def file to your project.
7/2/98 10:32:32 AM