|
|
|
новичок
      
участник
Last Login: 03.09.2001 11:40
Сообщ.: 2,
Visits: 23
|
|
Приветствую Вас!
Не подскажите ли вы, как и на чём написать exe-шник для регистрации нового ActiveX в Access. То есть мне необходимо создать инсталлятов, выполняющий действия, аналогичные выполнению в Access Сервис/Элементы ActiveX/Подключение нового ActiveX. Кто знает, подскажите.
Заранее благодарен.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 25.05.2004 16:57
Сообщ.: 604,
Visits: 6 656
|
|
Прошу прощения за то, что потревожил сон :-) (имею в виду сон обитателей форума). 2hrom: привожу выдержку топика из MSDN как зарегистрировать любую ActiveX на примере ComCtl32.OCX
Public Declare Function RegComCtl32 Lib "ComCtl32.OCX" _ Alias "DllRegisterServer" () As Long
Public Declare Function UnRegComCtl32 Lib "ComCtl32.OCX" _ Alias "DllUnregisterServer" () As Long
Public Const S_OK = &H0
Sub RegisterComCtl32() On Error GoTo Err_Registration_Failed If RegComCtl32 = S_OK Then MsgBox "Registered Successfully" Else MsgBox "Not Registered" End If Exit Sub Err_Registration_Failed: MsgBox "Error: " & Err.Number & " " & Err.Description End Sub
Sub UnRegisterComCtl32() On Error GoTo Err_Unregistration_Failed If UnRegComCtl32 = S_OK Then MsgBox "Unregistered Successfully" Else MsgBox "Not Unregistered" End If Exit Sub Err_Unregistration_Failed: MsgBox "Error: " & Err.Number & " " & Err.Description End Sub
Пример лежит на HOWTO: Programmatically Register and UnRegister .OCX Files ID: Q173091
Учти, что в примере для наглядности переименовали стандартные функции, "вшитые" во все ActiveX (DllRegisterServer и DllUnregisterServer)
Теперь мой вопрос: Я не хочу писать инсталлятор и прочие штуки. Так как *.ocx малы по размеру (исключая монстров, которые тянут за собой библиотеку VB), то я бы хотел "загнать" их в саму БД Access'а. Потом в коде загрузки БД проверить целостность ссылок и, если ссылки нарушены, то "вытащить" кодом файлы в нужный каталог и кодом же их зарегистрировать. Потом кодом удалить таблицу БД с файлами и сжать базу. В принципе идея, я уверен, не нова. Загнать то я загнал (в тип OLE). А вот выгнать обратно никак не могу :-( Пока не могу... Может найдутся знающие люди, подскажут?
Удачи!
|
|
|
|