System.Variants.VarArrayLock

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function VarArrayLock(const A: Variant): Pointer;

C++

extern DELPHI_PACKAGE void * __fastcall VarArrayLock(const System::Variant &A);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.Variants.pas
System.Variants.hpp
System.Variants System.Variants

Beschreibung

Sperrt ein variantes Array und gibt einen Zeiger auf die Daten zurück.

VarArrayLock sperrt das gegebene variante Array und gibt einen Zeiger auf die im Array gespeicherten Daten zurück. Während das Array gesperrt ist, kann seine Größe nicht geändert werden. Alle Aufrufe von VarArrayRedim schlagen also fehl. Ein gesperrtes Array muss mit VarArrayUnlock entsperrt werden. Ist die in A angegebene Variante kein Array, wird eine EVariantInvalidArgError-Exception ausgelöst.

Der von VarArrayLock zurückgegebene Zeiger zeigt auf ein Array mit Elementen, in dem zuerst 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 VarArrayLock verwendet werden, um direkt auf die Array-Daten zuzugreifen und so die Leistung zu optimieren.

Siehe auch