1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

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

Тема в разделе "Visual Basic", создана пользователем Taandr, 19 окт 2008.

  1. Taandr

    Taandr Гость

    Репутация:
    0
    При попытке изменения размера динамического массива в классе получаю ошибку
    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

    Спасибо.
     
  2. Tanya

    Tanya Гость

    Репутация:
    0
    Приведенный код сработал без ошибок.

    Вызов:
    Код:
    Dim cl As New C
    
    cl.setDim(2)
    
    cl.setDim(5)
    Возможно проблема не в этом?
     
  3. Taandr

    Taandr Гость

    Репутация:
    0
    Да, действительно.
    В Виндовом приложении этот код срабатывает без ошибок! ;)
    Дело в том, что я разрабатываю приложение для Windows Mobile
    Видимо тут другие правила. :(
    Поборол эту ошибку так:
    Код:
    Public Class Class1
    ...
    Public Sub New()
    Dim arr() As Integer
    
    ReDim arr(0)
    m_arr = arr
    End Sub
    ...
    End Class
    При создании экземпляра класса создается и инициализируется локальная переменная - массив, а потом ссылка на этот массив записывается в глобальную переменную класса.
    Так работает без ошибок.
    Спасибо за внимание.
     
Загрузка...
Похожие Темы - Массив произвольного размера
  1. Faradei
    Ответов:
    0
    Просмотров:
    378
  2. sashasluva
    Ответов:
    1
    Просмотров:
    218
  3. Shandrik
    Ответов:
    3
    Просмотров:
    464
  4. Вероника Эл
    Ответов:
    5
    Просмотров:
    599
  5. NickProstoNick
    Ответов:
    15
    Просмотров:
    1.093

Поделиться этой страницей