Delphi-Help

  • Increase font size
  • Default font size
  • Decrease font size
Главная Статьи ActiveX Зарегистрировать или удалить OCX, ActiveX

Зарегистрировать или удалить OCX, ActiveX

Оцените материал
(0 голосов)

Зарегистрировать или удалить OCX, ActiveX

{1.} 
 
type 
  TDllRegisterServer = function: HResult; stdcall; 
 
function RegisterOCX(FileName: string): Boolean; 
var 
  OCXHand: THandle; 
  RegFunc: TDllRegisterServer; 
begin 
  OCXHand := LoadLibrary(PChar(FileName)); 
  RegFunc := GetProcAddress(OCXHand, 'DllRegisterServer'); 
  if @RegFunc <> nil then 
    Result := RegFunc = S_OK 
  else 
    Result := False; 
  FreeLibrary(OCXHand); 
end; 
 
function UnRegisterOCX(FileName: string): Boolean; 
var 
  OCXHand: THandle; 
  RegFunc: TDllRegisterServer; 
begin 
  OCXHand := LoadLibrary(PChar(FileName)); 
  RegFunc := GetProcAddress(OCXHand, 'DllUnregisterServer'); 
  if @RegFunc <> nil then 
    Result := RegFunc = S_OK 
  else 
    Result := False; 
  FreeLibrary(OCXHand); 
end; 
 
{**********} 
 
{2.} 
 
function RegisterServer(const aDllFileName: string; aRegister: Boolean): Boolean; 
type 
  TRegProc = function: HResult; 
  stdcall; 
const 
  cRegFuncNameArr: array [Boolean] of PChar = 
    ('DllUnregisterServer', 'DllRegisterServer'); 
var 
  vLibHandle: THandle; 
  vRegProc: TRegProc; 
begin 
  Result := False; 
  vLibHandle := LoadLibrary(PChar(aDllFileName)); 
  if vLibHandle = 0 then Exit; 
    @vRegProc := GetProcAddress(vLibHandle, cRegFuncNameArr[aRegister]); 
  if @vRegProc <> nil then 
    Result := vRegProc = S_OK; 
  FreeLibrary(vLibHandle); 
end;
Прочитано 5536 раз
Другие материалы в этой категории: Как импортировать управление ActiveX »

Авторизация



Счетчики