Ik probeer een DLL te maken in Visual C++ om die vervolgens in Visual Basic te gebruiken. Ik ben begonnen met de standaard DLL uit de wizard.
Als VB code heb ik dit:
Als ik dit probeer uit te voeren krijg ik een "Bad DLL calling convention"
Het vreemde is, dat die Test functie wel werkt, dus ik dacht dat het aan de parameters moest liggen. Mijn functies (C++):
En verder staan de headers van deze functies nog in test.h.
Hoe los ik dit op?
Als VB code heb ik dit:
code:
1
2
3
4
5
6
| Private Declare Function Verdubbel Lib "test.dll" Alias "?verdubbel@@YAHH@Z" (ByVal x As Integer) As Integer Private Declare Function Test Lib "test.dll" Alias "?fnTest@@YAHXZ" () As Integer Private Sub Form_Load() Form1.Text1.Text = Verdubbel(33) End Sub |
Als ik dit probeer uit te voeren krijg ik een "Bad DLL calling convention"
Het vreemde is, dat die Test functie wel werkt, dus ik dacht dat het aan de parameters moest liggen. Mijn functies (C++):
code:
1
2
3
4
5
6
7
| TEST_API int fnTest(void) {
return 42;
}
TEST_API int verdubbel(int x) {
return x*2;
} |
En verder staan de headers van deze functies nog in test.h.
Hoe los ik dit op?