![]() |
OleVariant-Unterstützung in Delphi?
Hallo,
welche Unit muss ich einbinden, um volle Unterastützung für OleVariants zu haben? Mir fehlen zum Beispiel "VariantInit" oder auch nur die OleVariant-Members, z.B. OleVariant.vt. |
Re: OleVariant-Unterstützung in Delphi?
War das nicht in der Unit Variants?
Gruss Thorsten |
Re: OleVariant-Unterstützung in Delphi?
Ich glaube, in der gehts nur um die Delphi-Variants.
|
Re: OleVariant-Unterstützung in Delphi?
Unit ActiveX :)
|
Re: OleVariant-Unterstützung in Delphi?
Dankesehr. Aber der Compiler zeigt mir die Member einer OleVariant-Variable immer noch nicht an...
|
Re: OleVariant-Unterstützung in Delphi?
Zitat:
|
Re: OleVariant-Unterstützung in Delphi?
OK, danke.
|
Re: OleVariant-Unterstützung in Delphi?
So... kann es sein, dass man gewisse Member eines OleVariants heraus-boolesch-operieren muss? Hab einen flüchtigen Blick auf google codesearch geworfen, und dabei unter anderem das gefunden:
Code:
Wie mach ich das in Delphi? Es geht um IAccessible.accNavigate und den OleVariant, der mir da rausgeliefert wird.
if (VT_DISPATCH==V_VT(&vDocID))
|
Re: OleVariant-Unterstützung in Delphi?
Hallo,
ich habe inzwischen auch die C-Makros gefunden, die "V_VT(X)" definieren. abhängig von bestimmten Compiler-charakteristika (?) ist das entweder einfach
Code:
was natürlich zu einem spontanten "Häääää? Warum funktioniert mein Code nicht?!" führt, oder
((X)->vt)
Code:
Was zu einem noch größeren "Häääääää?" führt.
((X)->__VARIANT_NAME_1.__VARIANT_NAME_2.vt)
Kann mir denn niemand helfen? Hier nochmal das komplette:
Code:
(Google Codesearch nach "V_VT", erste ergebnisse)
#define V_UNION(X,Y) ((X)->__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.Y)
#define V_VT(X) ((X)->__VARIANT_NAME_1.__VARIANT_NAME_2.vt) #else #define V_UNION(X,Y) ((X)->Y) #define V_VT(X) ((X)->vt) |
Re: OleVariant-Unterstützung in Delphi?
Die Funktion 'VarType' ist dein Freund. Ein Variant ist eigentlich ein 'Variant Record', aber Delphi kapselt das sehr schön.
Du kannst auch direkt auf die Member zugreifen, dazu musst du das Variant (glaube ich) nach TVarRec typecasten... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz