.DLL file created in C++ yields error message

We are using a .dll file created in C++ and placed in the System32 directory.   When called from ACCESS VBA it yields the following error message:

         "Bad DLL Calling Convention"

  We are unable to get a handle on why this is happening or what we must do to change it.
FidelMikeAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
rpaiConnect With a Mentor Commented:
I believe the default convention in C++ is  __cdecl. VB only supports calling functions in dlls that are declared with the __stdcall calling convention. Try declaring your dlls function as __stdcall.
Hope that helps.
0
 
deightonCommented:
what are the parameters for the .dll?

Are strings involved?
0
 
deightonCommented:
how are you declaring the call to the api?
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
FidelMikeAuthor Commented:

Here is how I am declaring this .dll for this particular function.

Declare Function PSL_Connect Lib "PSL_ApiR.dll" _
                            (ByVal ServiceName As String, _
                             ByVal Server As String, _
                             ByVal Port As Long) As Long
0
 
FidelMikeAuthor Commented:
VB will not accept the "_" character.  How can we create the .dll in order to keep the naming convention that we are calling in VBA?  Can this be done?

  Declare Function PSL_Connect Lib "PSL_ApiR.dll" _
                           (ByVal ServiceName As String, _
                            ByVal Server As String, _
                            ByVal Port As Long) As Long

  We need the .DLL to name this function internally the way shown above.
0
 
rpaiCommented:
0
 
Richie_SimonettiIT OperationsCommented:
0
 
DanRollinsCommented:
Hi FidelMike,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept rpai's comment(s) as an answer.

FidelMike, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
==========
DanRollins -- EE database cleanup volunteer
0
 
NetminderCommented:
Per recommendation, force-accepted.

Netminder
EE Admin
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.