12. Mai 201015 j Hallo, so vorab, ich war mir nicht ganz sicher wo ich diesen Thread schreiben sollte, da eigentlich zweierlei Sprachen im problem involviert ist. Jedoch weiß ich nicht in welcher ich den Fehler gemacht habe. Ich habe eine dynamische C++ DLL und will mit vb.net auf eine Funktion dieser DLL zugreifen. Als kleines beispiel wie ich mir das dachte: //C++ DLL auschnitt #include <stdafx.h> #include <string> #include <iostream> using namespace std; int main() { return 0; } __declspec(dllexport) string _export(int p1, string p2, string p3, string p4) { //auskommentierter Inhalt return "nicht relevant"; } Und so habe ich mir eigentlich den Aufruf in VB.NET vorgestellt: public Class Muster Declare Function _export Lib "Ov32.dll" Alias "_export" ( _ ByVal p1 As Integer, ByVal p2 As String, ByVal p3 As String, ByVal p4 As String) As String Private Function testaufruf() as String Dim content as string = _export(1, "a", "b", "c") return "Muster" End Funktion End Class Nun kommt in vb.net die Fehlermeldung: Der Einstiegspunkt "_export" wurde nicht in der DLL "Ov32.dll" gefunden. Die DLL liegt im Debugverzeichnis des Projekts welche diese benutzten soll. Hat jemand eine Idee was ich eventuell Falsch gemacht haben könnte? Lg Gateway
13. Mai 201015 j Schau dir mal mit dem Dependency Walker an, wie das exportierte Symbol der DLL wirklich heißt.
13. Mai 201015 j Autor Die c++ DLL ist selbstverfasst also ist auch der quellcode einsehbar. Kann dir jetzt grad gedanklich nicht folgen. Denn ich seh ja wie die Funktion in der DLL deklariert ist und mit welchen Parametern. Bearbeitet 13. Mai 201015 j von Gateway_man
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.