Char* Rückgabewert in VB einlesen.



  • Hallo erst mal.
    Ich habe vor, per DLL einen String zu bearbeiten und dann zurück an ein VB Programm zu geben.

    Gedacht hab ich mir das so:

    char* __stdcall Blaa()
    {
    	return "Blaa";
    }
    
    Private Declare Function Blaa Lib "BFFDLL.dll" () As String
    ...
    Dim Str as String
    Str = Blaa
    MsgBox str
    

    Nur leider bekomme ich keinen String zurückgeliefert.
    Eigentlich sollte char* doch zu dem VB String kompatibel sein, oder irre ich mich da?
    Oder wie komme ich sonst an den String ran?
    Vorweihnachtliche Grüße und ein Danke schon mal :xmas1:

    ~Ptr



  • Ptr schrieb:

    Eigentlich sollte char* doch zu dem VB String kompatibel sein, oder irre ich mich da?

    vb strings sin unicode
    char* sin ascii strings



  • SysAllocStringByteLen(str,strlen(str)); müßte funzen (als rückgabetyp BSTR)



  • Danke.
    Funktioniert, ist aber (eigentlich) recht umständlich (VB ist schuld, nicht du :D).
    Muss halt leider auf VB zurückgreifen, solange ich komplexere GUI Anwendungen benötige.

    Gruß, Ptr


Anmelden zum Antworten