XL97: "Bad DLL Calling Convention" When Running a MacroID: Q158905
|
When you run a Visual Basic for Applications macro in Microsoft Excel 97, you may receive the following error message:
Run-time error '49':
Bad DLL calling convention
This problem may occur when all of the following conditions are true:
DLLs in Microsoft Windows support two main calling conventions:
_cdecl and _stdcall. Most 32-bit DLLs that are included with Microsoft
Windows 95 and Microsoft Windows NT support the _stdcall calling
convention; the _cdecl calling convention is generally used by older DLLs.
If a DLL supports only the _cdecl calling convention, you cannot call
functions in that DLL from a Visual Basic macro in Microsoft Excel 97. For
example, if your code includes the following function declaration:
Declare Function memcpy& Lib "Crtdll" (ByRef Dest&, ByVal Src&, _
ByVal Count&)
and then attempts to call the memcpy& function, you will receive the error
message described in this article. This behavior occurs because macros in
Microsoft Excel 97 cannot call functions that use the _cdecl calling
convention.
Additional query words: XL97
Keywords : kberrmsg kbdta KbVBA xlvbmigrate
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbprb
Last Reviewed: July 6, 1999