System.Variant.ArrayLock

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

C++

Pointer __fastcall ArrayLock();

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public sysvari.h System Variant

Beschreibung

Sperrt das angegebene variante Array und gibt einen Zeiger auf die im Array gespeicherten Daten zurück.

Während ein variantes Array gesperrt ist, kann seine Größe nicht geändert werden, und jeder Aufruf von ArrayRedim schlägt fehl. Das gesperrte Array muss später mit ArrayUnlock wieder freigegeben werden. Ist die in A angegebene Variante kein Array, wird eine EVariantError-Exception ausgelöst.

Der von ArrayLock zurückgegebene Zeiger zeigt auf ein Array mit Elementen, in dem zunächst die erste Dimension erhöht wird. Die Dimensionen des zurückgegebenen Array-Zeigers stellen also eine Umkehrung der Dimensionen des varianten Arrays dar.

Nachdem geprüft wurde, ob das variante Array die richtigen Grenzen und Dimensionen aufweist, kann ArrayLock verwendet werden, um direkt auf die Arraydaten zuzugreifen und so die Leistung zu optimieren.

Siehe auch