Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Variant + varStrArg = was ist das?

  Alt 19. Apr 2009, 15:56
Bei Variants selbst kommt varStrArg nie als Typencode vor, das stimmt.
Ich weiß nicht, was genau du machen willst, aber mir erscheint deine Technik zu kompliziert. Eigentlich musst du doch nur unterscheiden zwischen zwei Fällen: Finalisierungsbedürftigen Variants und reinen Datenvariants. Die Datenvariants, z.B. alle Arten von Zahlen, Boolean und HResult, kannst du einfach direkt speichern. Falls dir die 16 Byte zu viel sind, kannst du mit dem Array VarUtils.CVarTypeToElementInfo die Größe der Daten heraussuchen, die du tatsächlich speichern musst. Bei den anderen Variants musst du die Fälle einzeln abgrasen, aber es sind nicht sehr viele.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat