Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

RusFAQ.ru: Программирование на Basic / VBA

Выпуск № 161
от 24.10.2004, 22:00

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 338
Отправлено ответов: 294
Активность: 86.98 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Licvidator
Статус: Профессиональный
Общий рейтинг: 107.33
URL: PC Info
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 335. 1.Как зарегить программно (из кода) элемент ActiveX. А то у меня прога не запускается без него - п... (ответов: 1)

Вопросов: 1, ответов: 1


 Вопрос № 335

1.Как зарегить программно (из кода) элемент ActiveX. А то у меня прога не запускается без него - пишет что не зарегестрирован. 2.И вообще будет ли нарушением авторского права использование в своей прогграмме чужого активаикс, например из Офиса2003. 3. Почему бейсик не работает с БД Access выше 95-го? Как заставить?



Вопрос отправлен: 21.10.2004, 04:38
Отправитель: f01001 (mkop_@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Licvidator

Здравствуйте, f01001!
Любой ActiveX-компонет содержит в себе две функции - DllRegisterServer (для регистрации) и DllUnregisterServer (для отмены регистрации). Вот их и можно использовать для данной задачи.

' функция регистрации компонента COMCTL32.OCX
Private Declare Function RegActiveX Lib "COMCTL32.OCX" Alias DllRegisterServer() As Long
' функция отмены регистрации компонента COMCTL32.OCX (вдруг пригодится)
Private Declare Function UnRegActiveX Lib "COMCTL32.OCX" Alias DllUnregisterServer() As Long
'а это уже пишите в процедуре Form_Load
Dim regCode As Long
regCode = RegActiveX()

В этом примере вместо COMCTL32.OCX подставите имя своего файла *.ocx и его нужно держать в одном каталоге с программой.
Собственно, этот способ является самым простым, но содержит один потенциальный недостаток - нужно "железно" прописывать имя *.ocx. Я почти уверен, что имя у Вас меняться не будет, и этот способ Вы и будете использовать в будущем. Однако, расскажу о еще одном способе, так сказать, для общего развития.
Регистрация с помощью regsvr32.exe. Синтаксис: regsvr32.exe (пробел) имя_ActiveX. Применительно к ВБ, можно использовать следующий код:

Dim s As New Scripting.FileSystemObject
Dim WinPath
WinPath = s.GetSpecialFolder(WindowsFolder)
FileCopy App.Path & "\Mswinsck.ocx", WinPath & "\SYSTEM32"
Shell WinPath & "\SYSTEM32\regsvr32.exe mswinsck.ocx"

Одно лишь пояснение к первой строчке. Не у всех пользователей Windows установлен в папку по умолчаню, поэтому использовать абсолютные пути нельзя. Чтобы получить путь к каталогу System32, в котором расположен regsvr32.exe, я воспользовался FileSystemObject. Подключение через Проект - Информация - Microsift Scripting Runtime.

Насчет авторских прав - думаю, ничего страшного не произойдет, если Ваша программа некоммерческая.
Что касается Аксеса - ничем помочь не могу, с БД не работал.

Ответ отправлен: 21.10.2004, 15:17
Отправитель: Licvidator



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (26)
C / C++ (16)
Perl (8)
Builder / Delphi (19)
Pascal (21)
Basic / VBA (9)
Java / JavaScript (6)
PHP (18)
Криптография (8)
WinAPI (15)
Радиоэлектроника (15)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (63)
"Железо" (39)
Поиск информации (21)
Администратору
Windows NT/2000/XP (37)
Linux / Unix (14)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (6)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.





http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Отписаться

В избранное