• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Массив произвольного размера в классе

  • Автор темы Taandr
  • Дата начала
T

Taandr

При попытке изменения размера динамического массива в классе получаю ошибку
Use the "new" keyword to create an object instance.

[codebox]Public Class C
Private m_arr() As Integer
...
Public Sub setDim(ByVal cnt As Integer)
ReDim m_arr(cnt)
End Sub
...
End Class
[/codebox]

Где я должен сделать
Dim m_arr
чтобы исключить ошибку?

В инете ответ не нашел.
Про класс ArrayList знаю.
Объект класса С создается new.
Использую VS 2005

Спасибо.
 
T

Tanya

Приведенный код сработал без ошибок.

Вызов:
Код:
Dim cl As New C

cl.setDim(2)

cl.setDim(5)

Возможно проблема не в этом?
 
T

Taandr

Да, действительно.
В Виндовом приложении этот код срабатывает без ошибок! ;)
Дело в том, что я разрабатываю приложение для Windows Mobile
Видимо тут другие правила. :(
Поборол эту ошибку так:
Код:
Public Class Class1
...
Public Sub New()
Dim arr() As Integer

ReDim arr(0)
m_arr = arr
End Sub
...
End Class

При создании экземпляра класса создается и инициализируется локальная переменная - массив, а потом ссылка на этот массив записывается в глобальную переменную класса.
Так работает без ошибок.
Спасибо за внимание.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!