0xy писал(а):Но не удается осилить задачу: как создать объекную переменую-указатель на клас из ocx?
Не бывает такого явления, как переменные-указатели на класс. Бывает только такое явление, как указатель на определённый интерфейс объекта. Сам по себе объект очень часто оказывается экземпляром какого-то класса.
0xy писал(а):Dim Class As ClassName -- Error 91
Нельзя называть переменную Class. Это в высшей степени быссмысленно. И таки Error 91 говорит о том, что подобным образом объявленная переменная не содержит никакой ссылки. Что вполне справедливо. Переменная типа Long изначально содержит значение 0. Переменная типа Boolean изначально содержит значение False. Очевидно, что переменная-ссылка изначально содержить Nothing (нулевую ссылку, то есть ни ссылается ни на что). Так что всё логично. Ты просто не отдаёшь отчёт своим действиям.
0xy писал(а):Dim Class As New ClassName или Set Class=New ClassName -- Invalid use of New keyword!
Нет ничего общего между
Dim u as New ClassName и
Dim u As ClassName = NewClassName (если бы второй вариант в языке был).
0xy писал(а):А там таки юзерконтрол.
Ну, логично, это же OCX.
0xy писал(а):Может его нужно вызывать через me.controls.add?
Вызывают процедуры и проституток. А контроллы — создают и помещают в соответствующий контейнер. Ты вообще не описал своей задачи. Может быть из миллиона вариантов того, что именно тебе необходимо, правильным вариантом является тот, который говорит, что тебе необходимо всего лишь создать внутри экземпляра какой-то формы экземпляр какого-то контрола? Вполне возможно, но остаётся ещё 999 999 вариантов, ведь ты не сказал, что именно вообще тебе нужно.
0xy писал(а):Но где взять ProgID?
Ну ProgId обычно состоит из имени библиотеки, точки и имени класса. В крайнем случае ProgId можно подсмотреть в реестре, ведь контрол регистрируется там.
0xy писал(а):Да и сам контрол мне не нужен. Нужны только его функции.
Это бессмыслица.