Регистрация ActiveXDelphi , Технологии , ActiveXРегистрация ActiveX
Автор: Fantasist 1. Регистрация ActiveX:
function RegActiveX(FileName: string): HRESULT; var hMod: Integer; RegProc: function: HRESULT; //HRESULT = Longint begin hMod := LoadLibrary(FileName); if hMod = 0 then raise Exception.Create('Unable to load library"' + FileName + '". GetLastError = ' + IntToStr(GetLastError)); RegProc := GetProcAddress(hMod, 'DllRegisterServer'); if RegProc = nil then raise Exception.Create('Unable to load "DllRegisterServer" function from "' + FileName + '". GetLastError = ' + IntToStr(GetLastError)); Result := RegProc; end; 2. Регистрация Type Library: procedure RegisterTypeLibrary(FileName: string); var Name: WideString; HelpPath: WideString; TypeLib: ITypeLib; begin if LoadTypeLib(PWideChar(WideString(FileName)), TypeLib) = S_OK then begin Name := FileName; HelpPath := ExtractFilePath(ModuleName); RegisterTypeLib(TypeLib, PWideChar(Name), PWideChar(HelpPath)); end; end; Здесь используется интерфейс ITypeLib и API функция RegisterTypeLib. И то и другое объявленно в модуле ActiveX, если я не ошибаюсь. Hint: если вы регистрируете библиотеку типов изнутри модулчя, то его имя можно получить с помощью следующей функции: function GetModuleFileName: string; var Buffer: array[0..261] of Char; begin SetString(Result, Buffer, Windows.GetModuleFileName(HInstance, Buffer, SizeOf(Buffer))); end; Регистрация ActiveX и Type Library в Delphi демонстрируются примеры функций RegActiveX и RegisterTypeLibrary для регистрации библиотеки типов и активного компонента. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |