|
|
|
|
|
|
|
Как зарегистрировать OCX?
Вы правы, прежде чем использовать OCX, его необходимо зарегистрировать в системном регистре.
Предположим вы создали OCX с именем "test.ocx".
Теперь его необходимо зарегистрировать в системе:
|
var OCXHand: THandle;
RegFunc: TDllRegisterServer; //добавьте OLECtl в список используемых модулей
beginOCXHand:= LoadLibrary('c:\windows\system\test.ocx');
RegFunc:= GetProcAddress(OCXHand, 'DllRegisterServer'); //чуствительность к регистру?
if RegFunc <> 0 then ShowMessage('Ошибка!');
FreeLibrary(OCXHand);
end;
|
Для обратной процедуры, "отрегистрации" OCX, вам необходимо всего лишь заменить 'DllRegisterServer' на 'DllUnregisterServer'.
Также для полноты картины вы можете добавить код, извещающий пользователя о процессе регистрации, например так: "Does the file exist" (файл не найден), "Was the call to LoadLibrary successful?" (был ли вызов LoadLibrary успешным?), ...
Некоторые пояснения:
OCX - специфический форма dll, поэтому вы можете загрузить ее в память, используя знакомую уже API функцию LoadLibrary(). OCX экспортирует две функции, осуществляющие ее регистрацию и "отрегистрацию". Для получения адреса этих функций используется соответствующая функция GetProcAddress. После этого остается только вызвать необходимую функцию. И это все! После этого для успокоения души с помощью редактора регистров (regedit.exe) вы можете проверить регистрацию вашего OCX.
[000221]|
|
|
|
|
Материалы, которые находятся на этой страничке, любезно предоставлены Игорем Ивановым
|
|
| © 2007 APTEM.NET.RU Все права защищены |