Ich hab hier ein kleines problem beim exportieren von Funktionen aus native C++ code. Ich exportiere die Funktionen ganz wie gewohnt mit __declspec(dllexport). Soweit funktioniert das auch alles, wenn ich die Funktion jedoch in VBA(Excel) einbinden möchte meckert er an, dass der Einsprungspunkt der Methode nicht gefunden wurde. Wenn ich die Funktionen namentlich zusätzlich in eine *.def file schreibe funktioniert das. Jetzt habe ich mir die Dll einmal mit dem Dependency Walker angesehen und folgendes festgestellt: Exportiere ich die Funktionen mit __declspec(dllexport), dann lautet der Name der Funktion im Dependency Walker ?Funktionsname@@YGHPANH@Z. Es werden also ein paar zeichen angehängt.
Exportiere ich die Funktionen zusätzlich mit einem *.def File, so werden die Zeichen nicht angehängt und das ganze Funktioniert auch unter VBA.
Hat vielleicht irgend jemand mit dem Problem schonmal zu tun gehabt? Würde mich nämclich interessieren was das für ein Prblem ist. Ich benutze Visual Studio 2005
Hi, du musst die Funktionen als extern "C" exportieren, sonst bekommst du die Namenserweiterung durch den C++ Compiler (siehe die ca 100000 andere Posts über Suchfunktion) -- class God : public ChuckNorris { };