ник: Анатолий (Киев)
CopyMemory varArr(0,0), lngArr(0), Len(lngArr(0)) * 256
Нет?
|
Нет.
При копировании массива в массив их элементы должны иметь одинаковый тип. У вас же массив элементов типа Variant (16 байт) копируется в массив типа Long (4 байта, хотя у автора тип String, но это тоже 4 байта). И что вы там накопируете?
Выражение Len(lngArr(0)) действительно вернет 4 байта (размер переменной Long), но для переменных типа Variant и String она в данном контексте не годится. Надежнее использовать UBound(), вернее: UBound(arr) - LBound(arr) + 1.
Lukas., а вот копирование блока из двухмерного массива с элементами типа Variant в такой же одномерный массив может получиться. Только не знаю, есть ли разница, если массив внутри переменной Variant. Вы любите эксперименты - попробуйте.