По-моему. Мока хочет, чтобы id объекта соответствовал номеру ячейки в массиве. И так ты действительно сможешь достать некий объект (например с id = 10) из ячейки под номером 10.
При удалении и создании элементов может быть путаница.
При создании тебе надо будет находить пустую ячейку. А при удалении можно сделать небольшую пересортировку массива, чтобы не было пустых ячеек. Это зависит от того, что тебе надо.
Самое простое будет выглядеть как=то так:
Const Dim_size% = 100
Dim Array%[Dim_size - 1]
Type cClient
Field Id
End Type
Function CreateObject(id)
c.cClient = new cClient
c\id = id
return handle(c)
End Function
Как юзать
Dim Array[9] = CreateObject(9)
Как обращаться к объекту типа
Action(Array[9]) (Что-то делаем с объектом типа под номером 9)
Function Action(h)
c.cClient = Object.cClient(h)
;c\... = тут что-то делаем с объектом типа
End Function
ЗЫ. Все это очень стремно. Не знаю зачем тебе это понадобилось, если расскажешь подробней то в свободное время напишу нормально.