System.Variants.VarArrayLock
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.