Ошибка №424

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Draco
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 16.01.2004 (Пт) 21:35
Откуда: Москва

Ошибка №424

Сообщение Draco » 16.01.2004 (Пт) 21:49

При работе с Collection происходит ошибка с номером 424.
Если убрать всё не относящееся к данному вопросу, то получим следующий код:
Код: Выделить всё
Dim mCol As New Collection
Public Sub main()
    Dim temp As Integer
    mCol.Add t
    mCol.Item(1) = "yyy"
    'Возникает ошибка.
    MsgBox i.Item(1)
End Sub

Извечный русский вопрос: что делать?
P.S.:
Буду очень благодарен за ответ.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 16.01.2004 (Пт) 22:28

Item() - метод, ему нельзя присвоить свойство.
Используй код:
Код: Выделить всё
Sub Change(Col As Collection, Position As Long, Str As String)
Col.Remove Item
Col.Add Str, , Item
End Sub

Sub Main()
Dim mCol As New Collection
mCol.Add t
Change mCol, 1, "yyy"
MsgBox mCol.Item(1) 'yyy
End Sub
Нет меня больше

Draco
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 16.01.2004 (Пт) 21:35
Откуда: Москва

Сообщение Draco » 17.01.2004 (Сб) 14:26

Данный код не будет работь по ряду причин, но благодарю за идею: свою ошибку я понял.:wink:
Вопрос следующий:
Нет ли способа проще :?:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.01.2004 (Вс) 4:45

Есть :)
Создай класс, весь код которого
Код: Выделить всё
public Value as string

Добавляй эти классы в коллекцию. И потом можно Item(n).Value=""
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Draco
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 16.01.2004 (Пт) 21:35
Откуда: Москва

Сообщение Draco » 18.01.2004 (Вс) 14:50

Данный вариант ответа приходил и мне в голову, я даже использовал его в одной проге. Хотел найти решение попроще 8), хотя данное решение вполне удовлетворяет моим требованиям :wink:.
P.S.:
Я нашёл другое (лучшее) решение проблемы вцелом (без использования колекции), но хотелось бы узнать простое решение задачи без "лишних" классов (если оно есть :lol:).


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 14

    TopList