Gateway_man Geschrieben 12. Mai 2010 Geschrieben 12. Mai 2010 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
Klotzkopp Geschrieben 13. Mai 2010 Geschrieben 13. Mai 2010 Schau dir mal mit dem Dependency Walker an, wie das exportierte Symbol der DLL wirklich heißt.
Gateway_man Geschrieben 13. Mai 2010 Autor Geschrieben 13. Mai 2010 (bearbeitet) 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 2010 von Gateway_man
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden