| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Динамические массивы в классе |
| Автор: Одессит 14.5.2006, 16:59 |
| Мне необходимо работать с классами, а свойства класса являются динамическими массивами. Ну, примерно такой код Private Name() As String .... какая-то функция ReDim Name(0) kol = 0 kol = kol + 1 ReDim Preserve Name(kol) Set Name(kol) = "e" либо Name(kol) = "e" .... В первом случае выдаётся ошибка Object required Во втором вообще синтаксическая ошибка. Наверно как-то по другому нужно это реализовывать. а как? |
| Автор: Naghual 15.5.2006, 09:08 |
| Для начала, Name - зарезервированное слово. Его нельзя использовать как название переменной. |
| Автор: Тутанхамец 15.5.2006, 09:19 | ||||||||||
| Set используется только при рабоет с объектами. Вот и говорит, что требует объект. Кроме того, кажется, redim name(0) вообще может задавать массив нулевой длины. Т.к.:
То есть если у тебя массив от нуля с количеством элементов kol, то последнйи элемент будет иметь индекс kol-1. Лучше писать так: redim name(1 to 1). Задаешь сразу и нижнюю и верхнюю границы массива. Пример: 1) модуль класса MyClass
2) Форма, юзающая этот модуль:
Добавлено @ 09:21
В VB6 вроде можно.
|
| Автор: Тутанхамец 15.5.2006, 10:18 |
| Поправка. Name - это свойство текущей формы. А если объявить в процедуре свою name, то она замещает это свойство. |