Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Анатолий (Киев)


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. Вы любите эксперименты - попробуйте.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.