Из справки об этой ошибке (упоминается ListBox и Form, но то же самое относится и к UserControls):
Новое ключевое слово может применяться только к
Создаваемый объект ... Вы пытались
создать экземпляр объекта автоматизации, но
это был не создаваемый объект. За
Например, вы пытались создать новый
экземпляр списка со списком, указав
ListBox в утверждении, как
следующее: [образец кода отрезан]
ListBox и Form являются именами классов, а не
конкретные имена объектов. Ты можешь использовать
им указать, что переменная будет
быть ссылкой на определенный объект
типа ... Но вы не можете использовать их для
создавать экземпляры самих объектов в
Установить заявление. Вы должны указать
конкретный объект, а не
универсальное имя класса в наборе
утверждение:
То, что вы хотите сделать, - это создать массив ваших пользовательских контролей и загружать новые по мере необходимости. Установите для свойства Index вашего UserControl значение 0, чтобы сделать его массивом, а затем используйте оператор Load для создания новых экземпляров:
Load ucMyUserControl(1)
Set myObject.GUI = ucMyUserControl(1)
Когда вам нужно больше, просто укажите новую верхнюю границу:
Load ucMyUserControl(2)
Load ucMyUserControl(3)
...
Когда вы закончите с ними, выгрузите их:
Unload ucMyUserControl(3)
Unload ucMyUserControl(2)
...