Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Зарегистрировать или удалить 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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay