Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.155 Beiträge
 
Delphi 12 Athens
 
#19

AW: Delphifunktion um die Länge eines Array in einem "Array of Variant" zu bestimmen?

  Alt 22. Jan 2015, 17:57
Was hat das mit Glück zu tun???

Das Array der Ebene 1 ist ein Array mit Felder des Datentyps "Variant".

Also ist Array[0] ein "Variant".

Die Funktion VarArrayCreate() gibt den Datentyp "Variant" zurück.


Aber immernoch suche ich eine Funktion zum Auslesen der Arraylänge der 2. Ebene.
Genau, das gibt einen Typen "Variant" zurück (wo ein Variant-Array drin steckt) und du weißt es an einen Typen "Array of Variant" zu.

Und die Funktionen für das Auslesen der zweiten Ebene wurden mehrmals genannt, also nicht Length, High oder so, sondern VarArrayHighBound-VarArrayLowBound.
Ja, es gibt kein VarArrayLength, aber hier muß man auch beachten, daß Vairant-Arrays nicht bei 0 beginnen müssen, so wie die dynamischen Arrays
und dann sei bitte froh, daß du nicht selber direkt auf MSDN-Library durchsuchenSafeArrayGetLBound zugreifen mußt.
PS: Variant ist ein Typ vom Windows und dessen API stellt hat kein Length zur Verfügung, aber man kann gern an Embarcadero einen Feature-Request stellen und um ein Length bitten, wenn man es nicht schafft das selber zu schreiben.
Ich kann mir auch keinen Grund vorstellen, wozu man hier überhaupt ein Length braucht.

Ich frag mich grade, ob es nicht vielleicht inzwischen einen netten Record-Helper für Variants gibt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Jan 2015 um 18:04 Uhr)
  Mit Zitat antworten Zitat