Besser das VarArrayLowBound mit beachten, denn VariantArrays müssen nicht bei 0 beginnen.
Delphi-Quellcode:
len := (VarArrayHighBound(Data, 1) - VarArrayLowBound(Data, 1) + 1)
* VarArrayElementSize(Data) { div SizeOf(Result[0]) };
// SizeOf(Result[0]) aka SizeOf(Byte) ist hier eh 1
VarArrayHighBound geht auf
SafeArrayGetUBound der OleAuth.dll zurück.
VarArrayElementSize stimmt zwar nicht, aber irgendwo wird
SafeArrayGetElemSize doch bestimmt verbaut sein.
PS:
DynArrayFromVariant