Parameterübergabe von C++ Dll an VB und umgekehrt



  • Hi,

    ich habe folgendes Problem, ich möchte aus VB eine C++ Dll aufrufen an die ich einen String übergebe, die Dll gibt mir dann einen anderen String zurück !
    Einzeln funktioniert das auch, das heißt wenn die Dll aufgerufen wird und nur zurückgibt bzw. im anderen Szenario wenn VB übergibt und die Dll nichts zurückgibt.
    Versuche ich aus VB eine Funktion der Dll aufzurufen und dieser einen String zu übergeben und die Dll Funktion einen Wert zurückgeben zu lassen funktioniert das nicht ! 😞 😕

    Hier der Code:
    VB:

    Private Declare Function fnWin32DLL02 Lib "E:\WORKING\OMRON\GDT\EigeneDLL\C++ DLL mit VB (Test01)\Win32DLL02.dll" (ByVal testParam As String) As String
    
    Private Sub Form_Load()
    
        Dim x As String
        Dim test As String
    
        test = "Übergabe aus VB"
        x = Space$(5)
        x = fnWin32DLL02(test)
        MsgBox "X ist: " & x
    
    End Sub
    

    Dll.cpp:

    WIN32DLL02_API BSTR fnWin32DLL02(BSTR s)
    {
    		BSTR x;
    
    		x = SysAllocString((BSTR)"abcde");
    		MessageBox(NULL,(LPCSTR)s,"Info",MB_OK);
    		SysFreeString(s);
    
    		return x;
    }
    

    Dll.h:

    WIN32DLL02_API BSTR fnWin32DLL02(BSTR);
    

    Das ist wie verhext, ich probier das schon seit Tagen und Google schweigt sich zu diesem Thema beharrlich aus !

    Bin für jede Hilfe dankbar !
    ShadowEater



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten