Zum neuen Informatik-Forum >>
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

problem mit einbinden von c++-dll

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Visual Basic
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
heiko
Gast





BeitragVerfasst am: 16. Nov 2005 16:40    Titel: problem mit einbinden von c++-dll Antworten mit Zitat

hallo leute,
ich hab versucht in mein vb6-projekt die Funktion test_add einzubinden, die in einer c++ dll steht und dort exportiert wird:

C++ - (dll):
Code:
extern "C" __declspec(dllexport) int test_add(int x, int y);



In meinem visual basic projekt importiere ich sie dann mit:
Code:
Private Declare Function test_add Lib "D:\src\Debug\coldet.dll" _
(ByVal x As Integer, ByVal y As Integer) As Integer


und rufe sie dann in einer funktion auf:
Code:
Sub Test_MainMenu()
    Dim e As Integer
    e = test_add(3, 4)
    MsgBox CStr(e)
End Sub


Die Funktion wird auch aufgerufen, und richtig ausgeführt, aber nachdem die Funktion "Test_MainMenu()" dann beendet ist, hängt sich das programm auf (natürlich nur wenn ich "test_add" auch aufrufe, sonst läuft alles normal).

Naja ich hoffe irgendjemand weiss vielleicht an was das liegen könnte.

gruss heiko
Nach oben
heiko_f
Gast





BeitragVerfasst am: 18. Nov 2005 17:55    Titel: Antworten mit Zitat

ich hab jetzt mal einen alias vergeben und die parameter zu long gemacht. scheint aber alles nichts zu helfen. ich hab jetzt mal den code der dll und der vb-exe aufs allernötigste reduziert, aber es tut einfach nicht, ich weiss nicht woran es liegt. die funktion liefert als wert dann nicht 200 sondern irgendwas wie 12234323.

Hier mal der gesamte code der c++-dll:

Code:

// Funktionen exportieren
extern "C" __declspec(dllexport) int test_add(int x);

int test_add(int x)
{
return x;
}



Und der gesamte code der vb-exe, die nur noch ein formular mit button ist:

Code:

Private Declare Function test_add1 Lib _
"D:\heiko friedrich\collision detection\testvbexe\testcdll\Debug\testcdll.dll" _
Alias "test_add" (ByRef x As Long) As Long


Private Sub Command1_Click()
    Dim d As Long
    d = test_add1(200)
    MsgBox CStr(d)
End Sub


naja ich hoffe ihr habt noch tipps was ich noch versuchen könnte.
gruss heiko
Nach oben
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Visual Basic Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen