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!