Dringend



  • Hallo zusammen,

    ich habe ein dringendes Problem.

    Ich habe mir mit Visual Basic ein COM-Objekt erstellt, welches eine Funktion (WriteOrder) enthält die einen String als Parameter erwartet.

    Public Function WriteOrder(OrderDaten as String) as Integer

    Wenn ich nun aus einem VC++ -Programm das COM-Objekt verwenden möchte passiert folgendes:

    Wenn ich die Funktion so aufrufe:
    pOrder->WriteOrder("TESTDATEN",&RetVal);
    wird sie korrekt ausgeführt.

    Wenn ich allerdings folgendes Schreibe kommt ein anderes Ergenbnis zustande:

    CString test;
    test = "TESTDATEN"
    
    pOrder->WriteOrder((_bstr_t)test,&RetVal);
    

    Warum ist das nur so?

    Bin für jede Hilfe mehr als Dankbar.



  • Was bezweckst du mit

    (_bstr_t)
    

    ?

    Happosai



  • Um meinen CString in einen BSTR-Typ zu konvertieren.



  • Verwende CString::AllocSysString()

    PS.:
    Toller Betreff - da weiß man gleich, worum's geht...

    [ Dieser Beitrag wurde am 21.12.2002 um 11:30 Uhr von MFK editiert. ]



  • SysAllocString() bewirkt das gleiche wie (_bstr_t).
    Hab ich auch schon versucht. Das Ergebnis ist das gleiche!


Anmelden zum Antworten