Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Массив произвольного размера в классе Добавлено: 19.10.08 14:47  

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


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


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

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

Спасибо.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 19.10.08 18:03
Ты только объявил его.. а инициализировать кто будет???

Ответить

Номер ответа: 2
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #2 Добавлено: 20.10.08 11:47
Ошибки в приведенном коде нет, видимо она есть там, где вызывается метод setDim.

Ответить

Номер ответа: 3
Автор ответа:
 Taandr



ICQ: 14086474 

Вопросов: 1
Ответов: 1
 Профиль | | #3 Добавлено: 22.10.08 02:42
В Виндовом приложении этот код срабатывает без ошибок!
Ошибок вызова методов тоже нет.
Экземпляр класса создается new как надо.
Дело в том, что я разрабатываю приложение для Windows Mobile
Видимо тут другие правила.
Поборол эту ошибку так:

  1. Public Class C
  2. ...    
  3.     Public Sub New()
  4.         Dim arr() As Integer
  5.         ReDim arr(0)
  6.         m_arr = arr
  7.     End Sub
  8. ...
  9. End Class


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

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам