• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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

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

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