Benutzer mit den meisten Antworten
Wo wird der DatenTyp VARIANT deklariert ??

Frage
-
Ich möchte in C++ den Typ VARIANT verwenden, aber ich kann es nicht, da ich den richtigen header nicht finde, oder ich weiss nicht was. Ich weiss, das es in einem anderen projekt geht, aber ich denke ich würde Stunden brauchen, das alles zurückzuverfolgen und den richtigen header zu finden.
Leider finde ich in der Dokumentation nicht das was ich suche ... es ist ein struct, es kann tolle Dinge ... OK, alles super.
Ich kann mir aber auch nicht vorstellen, daß ich den Datentyp und die "VT_ENUM" (oder wie das Ding heißt, aber ich denke jeder weiss hier gemeint ist ...) selber definieren muss.
Jedenfalls würde ich gerne sowas hier machen ...
VARIANT f; VARIANT g; f.vt = VT_R8; // double f.dblVal = 2.3;
g.vt = VT_R8; // double
g = f;
... aber es scheitert bereits an "VARIANT" und "VT_R8" (undefined). Welche includes sind da nötig ?
Ob die Zuweisung in der letzten Zeile so einfach mgl. ist oder nicht das sehe ich dann mal.
Vielen Dank und beste Grüße,
....
Antworten
-
Leider finde ich in der Dokumentation nicht das was ich suche ... es ist ein struct, es kann tolle Dinge ... OK, alles super.
Wieso nicht? Es steht doch alles da, siehe: "https://msdn.microsoft.com/en-us/library/windows/desktop/ms221627%28v=vs.85%29.aspx"
Zitat:
Header OaIdl.h
Und was genau ist mit VT_ENUM gemeint, meinst Du VT_I2?
Übrigens: Für Zugriffe auf VARIANTs hast Du schöne Helfer, schau Dich mal in OleAuto.h um (automatisch inkludiert, wenn Du OaIdl.h eingebunden hast). Das sieht mir irgendwie besser als direkte Zugriffe aus, z.B:
VariantInit(&f); V_VT(&f) = VT_R8; V_R8(&f) = 2.3;
- Als Antwort markiert fluppe83 Donnerstag, 10. März 2016 12:50
Alle Antworten
-
Leider finde ich in der Dokumentation nicht das was ich suche ... es ist ein struct, es kann tolle Dinge ... OK, alles super.
Wieso nicht? Es steht doch alles da, siehe: "https://msdn.microsoft.com/en-us/library/windows/desktop/ms221627%28v=vs.85%29.aspx"
Zitat:
Header OaIdl.h
Und was genau ist mit VT_ENUM gemeint, meinst Du VT_I2?
Übrigens: Für Zugriffe auf VARIANTs hast Du schöne Helfer, schau Dich mal in OleAuto.h um (automatisch inkludiert, wenn Du OaIdl.h eingebunden hast). Das sieht mir irgendwie besser als direkte Zugriffe aus, z.B:
VariantInit(&f); V_VT(&f) = VT_R8; V_R8(&f) = 2.3;
- Als Antwort markiert fluppe83 Donnerstag, 10. März 2016 12:50
-
Ha, das OaIdl.h habe ich nicht gesehen ... sorry.
Und mit dem "VT_ENUM" meinte die enumeration, die alle diese typ Ids enthält wie eben VT_I2 oder so ...
Das Ding ist irgendwie ja immer in den external dependencies, aber ich muss die "#include" Zeile irgendwo unterschlagen haben ... habe nur keine Ahnung wo.
Das mit den Zugriffen ist sicher eine gute Sache. Jetzt werde ich erstmal diesen header da einbinden und schauen, wie weit ich damit komme. Besten Dank auf jeden Fall, und schönen Tag noch
...