Массив имеет фиксированный размер или временно заблокирован (Visual Basic)

Обновлен: Ноябрь 2007

This array is fixed or temporarily locked (Visual Basic)

Причиной возникновения данной ошибки может быть:

  • Использование ReDim для изменения числа элементов массива фиксированного размера.

  • Изменение размерности динамического массива на уровне модуля, в котором один элемент был передан процедуре в качестве аргумента. Если элемент уже был передан, массив заблокирован, чтобы предотвратить освобождение памяти для параметра ссылки в пределах процедуры.

  • Попытка присвоения значения для переменной Variant, содержащей массив, но Variant заблокирована.

Исправление этой ошибки

  1. Сделайте исходный массив динамическим, а не фиксированным, объявив его с помощью ReDim (если массив объявляется в пределах процедуры) или объявив его без указания числа элементов (если массив объявляется на уровне модуля).

  2. Определите, необходима ли передача элемента, если он видим всем процедурам модуля.

  3. Определите, почему заблокирована переменная Variant и разблокируйте ее.

См. также

Другие ресурсы

Массивы в Visual Basic