Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Eigene C++ DLL's in VBA benutzen

Meik / 2 Antworten / Flachansicht Nickles

Hallo!

Mit Begeisterung habe ich festgestellt, dass es möglich mit (V)C++ DLL-Dateien zu erstellen, auf deren Funktionen man dann mittles API mit VBA zugreifen kann. Das klappt bei mir zwar schon im Ansatz, leider scheitere ich aber im Moment daran, dass ich keine vernünftigen Werte-Übergaben machen kann. Als Beispiel:

Private Declare Function say_hello Lib "dll" (ByVal a As Integer) As Integer

Sub aMalFuenf()
Dim intc As Integer
intc = say_hello(5)
MsgBox intc
End Sub

Excel bringt die Fehlermeldung:

Laufzeitfehler \'49\': Falsche DLL-Aufrufkonvention
(mit Verweis auf die Zeile "intc = say_hello(5)"

Der entscheidende Abschnitt des C++-Quellcodes sieht so aus:

extern "C" __declspec(dllexport) int say_hello(int a)
{
int c;
c = a*5;
return(c);
}

Wenn mir jemand meinen Fehler zeigen oder mir ein vernünftiges Beispiel liefern könnte, an dem sich der Umgang mit DLL\'s studieren lässt, wäre ich sehr dankbar!

Gruß,
Meik

bei Antwort benachrichtigen