Классический ASP назначает объект класса массиву - PullRequest
0 голосов
/ 02 ноября 2018

Имея устаревший проект Classic ASP и необходимо сделать следующее. Я создал класс:

Class MeView
Private m_x
Public Property Get X()
    X = m_x
End Property

Public Property Let X(value)
    m_x = value
End Property

Private m_y
Public Property Get Y()
    Y = m_y
End Property

Public Property Let Y(value)
    m_y = value
End Property

Конечный класс

Теперь я определяю переменные:

    Dim Me
Dim MeList()
Dim index : index = 0

Затем я перебираю набор результатов и присваиваю значения классу Me. После этого я помещаю объект Me в массив.

          if not rs.eof then
        while not rs.EOF
            Redim Preserve MeList(index)
            Set Me = New MeView
            Me.X = Sanitize(rs("X"))
            Me.Y = Sanitize(rs("Y"))
            Set MeList(index) = Me
            index = index + 1
            rs.Movenext
        wend
      end if

Пока все хорошо, если я проверяю UBound of MeList, он показывает правильное значение. Проблема возникает здесь:

Dim i
For i = 0 to Ubound(MeList)
    Set Me = New MeView
    Me = MeList(i)
    Response.write Me(i).X
Next  

Я получаю следующую ошибку Ошибка выполнения Microsoft VBScript '800a01a8' Требуемый объект: '[undefined]'

Я смотрю на это уже 2 дня и просто не вижу, в чем проблема. Любой вклад, чтобы указать мне в правильном направлении, будет высоко ценится.

...