Динамическая регистрация разных компонентов с одинаковым интерфейсом.
Привет всем!
Проблема:
Хочу написать систему плагинов:
Главное приложение <> ActiveX Dll
Проблема вот в чём - "Главное приложение" должно
подключать эту длл и загружать некий общий класс,
его интерфейс известен. Например:
Public Sub Main(Input As String) As String
... (какой -то код)
End Sub
Путь к этой длл известен, и он меняеться.
Имеються 5 длл с таким вот интерфейсом ...
каждая что-то делает.
Необходимо зарегистрировать эту длл и ... ?
Вообщем интерфейс одинаков для всех длл.
Код внутри - разный. Главное приложение должно
содержать процедуру инициализации длл, и запуска
оюектов внутри.
Как её сделать?
--
У меня есть код для регистрации компонента:
=================================================
Public Function RegCOM(s_FileName As String, _
Optional bRegister As Boolean) As Boolean
If bRegister Then
Call mod_ShellWait.ExecCmd("regsvr32 /s" & s_FileName)
Else
Call mod_ShellWait.ExecCmd("regsvr32 /s /u " & s_FileName)
End If
End Function
=================================================
Он то компоненет регистрирует ... но вот дальше ...
Код программы:
=================================================
Private Sub Command1_Click()
Call mod_CR.RegCOM("TestDLL.dll", True)
'Invoking
Dim X As Object
Set X = CreateObject("TestClass", App.Path & "\TestDLL.dll") 'Тут я чё-то не так делаю???
Call X.Test 'Active X Component cannot Create the Object ..." !!!!!!!!!!!!!!!!!!!!!!! AAAAAA!!!
End Sub
=================================================
Проблема в том что нельзя установить References к
этой библиотеке ... точнее его нужно установить динамически.
Хух ... как мог так и объяснил - просьба ногами не пинать.