Momenteel ben ik in het bezit van een api die een bepaalde server kan aansturen.
Deze api (dll) is geschreven in (hoogstwaarschijnlijk) c++
de cc2k_dll.dll call naar CC_CONNECT() in de c2k_dll.h (deze is meegeleverd bij het pakke) is :
De functie wil ik graag gebruiken in een VB OCX
Echter, wanneer ik deze probeer aan te roepen met de volgende code:
dan krijg ik als foutmelding "Bad dll convention".
Dit zou betekenen dat de dll niet gecompileer is met stdcall of fastcall.
Het vreemde is, dat wanneer je kijkt naar de c++ call, deze ook als stdcall wordt geclassificeerd.
Kan iemand misschien een andere fout ontdekken?
Deze api (dll) is geschreven in (hoogstwaarschijnlijk) c++
de cc2k_dll.dll call naar CC_CONNECT() in de c2k_dll.h (deze is meegeleverd bij het pakke) is :
code:
1
2
3
4
5
6
7
8
9
10
11
| DLL_EXP void __stdcall CC_CONNECT(
int As_id,
int At_id,
char *AUser,
char *APassword,
char *AHost,
char *AService,
int ATCP,
int AUDP,
int AReserved
); |
De functie wil ik graag gebruiken in een VB OCX
Echter, wanneer ik deze probeer aan te roepen met de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| Option Explicit
Private Declare Function CC_CONNECT _
Lib "c:\Api\cc2k_dll.dll" ( _
ByVal As_id As Long, _
ByVal At_id As Long, _
ByRef AUser() As Byte, _
ByRef APassword() As Byte, _
ByRef AHost() As Byte, _
ByRef AService() As Byte, _
ByVal ATCP As Long, _
ByVal AUDP As Long, _
ByVal AReserved As Long _
)
----------------------------------------------------
Dim AUser() As Byte
Dim APassword() As Byte
Dim AHost() As Byte
Dim AService() As Byte
AUser = "user"
APassword = "pass"
AHost = "server"
AService = "Name of Service"
'// Call CC_CONNECT
CC_CONNECT 0, 400, AUser, APassword, AHost, AService, 8777, 0, 0 |
dan krijg ik als foutmelding "Bad dll convention".
Dit zou betekenen dat de dll niet gecompileer is met stdcall of fastcall.
Het vreemde is, dat wanneer je kijkt naar de c++ call, deze ook als stdcall wordt geclassificeerd.
Kan iemand misschien een andere fout ontdekken?