FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9176
Вход
Регистрация OCX, без использования regsvr32

Любой OCX/ActiveX control, или OLE сервер может быть зарегистрирован в системе за счет применения своих внутренних функций. Этот метод имеет ряд преимуществ: - Позволяет отслеживать результат регистрации класса в системе - Не требует никаких внешних программ Автора, к сожалению не помню, взято с Universal Thread


 
Прислал: Прислал Yuri Abramenkov   Категория: Система


Регистрация OCX, без использования regsvr32

Note: Для корректного применения кода, вам необходимо в функциях перехватить error 1754 (Cannot find entry point "name" in the DLL.) Эта ошибка генерирутся в случае передачи в качестве параметра имени файла, не являющемся OCX/ActiveX control или OLE сервером.
Функция: RegisterControl
  
 *-- Функция регистрации OCX/ActiveX контрола или OLE сервера  
    
  FUNCTION RegisterControl  
    
 *-- Параметр:  
 *      Имя файла, с указанием пути  
 *-- Функция возвращает:  
 *      Logical TRUE если регистрация прошла успешно,  в противном случае FALSE .  
 *      В случае отсутствия файла, функция вернет также FALSE .  
 *-- Пример вызова функции:  
 *      llRegistered = RegisterControl("c:\windows\system\comctl32.ocx")  
    
  LPARAMETERS tcFileName  
  LOCAL llSuccess  
    
  IF FILE(tcFileName)  
    
     DECLARE INTEGER DllRegisterServer ;  
        IN (tcFileName) ;  
        AS __DllRegisterServer__  
    *-- This function returns 0 if successful  
     IF __DllRegisterServer__() = 0  
        llSuccess = .T.  
     ELSE  
        llSuccess = .F.  
     ENDIF  
  ELSE  
     llSuccess = .F.  
  ENDIF  
    
  RETURN llSuccess  
    
 **Обратная функция  
    
  FUNCTION UnregisterControl  
  LPARAMETERS tcFileName  
  LOCAL llSuccess  
    
  IF FILE(tcFileName)  
     DECLARE INTEGER DllUnregisterServer ;  
        IN (tcFileName) ;  
        AS __DllUnregisterServer__  
    *-- This function returns 0 if successful  
     IF __DllUnregisterServer__() = 0  
        llSuccess = .T.  
     ELSE  
        llSuccess = .F.  
     ENDIF  
  ELSE  
     llSuccess = .F.  
  ENDIF  
  RETURN llSuccess  
  



 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.917)
Дополнения пользователей
Регистрация OCX, без использования regsvr32
[+][?]
Unicos
09.02.06 16:19:00

А че скачиваю 1К и пусто???

Joys
11.02.06 13:08:06

исправил
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика