Variant in char* umwandeln
-
Wie kann ich einen Variant in char* umwandeln?
-
VariantChangeType(Ex)
COleVariant::ChangeType
-
Und wenn Du einen BSTR hast (denn einen char* findest Du im Variant nicht), dann kannst du CW2A verwenden.
-
Wie komme ich nun vom BSTR zum char*?
Was muß ich für CW2A einbinden?
Ich habe im Web gesucht: Wo ist W2T definiert? Wenn ich die Klammer aufmache scheint das VS die Funktion zu kennen. Wenn ich versuche die Definition herauszufinden scheitert er. Was muß ich noch includieren?
-
CW2A gehört zu den ATL Klassen ab VS200x!
(atlconv.h) Ansonsten W2A verwenden.
-
Jatzt knallt mir der Compiler lauter Fehlermeldungen aus der atlconv.h auf die Ausgabe:
c:\\program files\\microsoft visual studio\\vc98\\atl\\include\\atlconv.h(46) : error C2146: syntax error : missing \';\' before identifier \'WINAPI\'
c:\\program files\\microsoft visual studio\\vc98\\atl\\include\\atlconv.h(46) : error C2433: \'LPWSTR\' : \'inline\' not permitted on data declarationsLiegt das daran das ich das VS6 benutze?
Das Makro W2T() scheint genau das zu sein das ich suche. Wie komme ich an dieses?
-
Ich bin neu in diesem Bereich also bitte nicht gleich die Hände über dem Kopf zusammenschlagen

Meine Frage wird sich annähernd gleich zur der meines Vorgängers anhören,
vllt. dennoch ein Versuch ?
Wie kann ich den Parameter VARIANT* URL in einen String (z.B. char*) konvertieren, so dass ich diesen mit einem beliebigen 2. String vergleichen kann.
Was ist dazu im einzelnen einzubinden ?Bsp.:
STDMETHODIMP CObjVw::DocumentComplete(IDispatch* pDisp, VARIANT* URL) { //Konvertierung von VARIANT* URL zu "String of some kind" //Vergleich von url string mit beliebigem 2. String }Für Hilfe und Codebeispiele wäre ich sehr dankbar.