Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.12;
Скачать: CL | DM;

Вниз

Как зарегистрить ActiveX компонет в runtime?   Найти похожие ветки 

 
anton_private ©   (2002-06-07 15:57) [0]

Как зарегистрить ActiveX компонет в runtime?


 
Дмитрий Баранов ©   (2002-06-07 16:39) [1]

1) WinExec("regsvr32.exe mycomp.ocx", 0)
2) Вызвать DllRegisterServer


 
allrussia ©   (2002-06-08 04:27) [2]

uses Olectl (в папке Lib\Delphi2 лежит)
var
ocx: THandle;
reg: TDllRegisterServer;
begin
ocx:= LoadLibrary("activex.ocx");
reg:= GetProcAddress(ocx,"DllRegisterServer");
if reg = 0 then FreeLibrary(ocx);
end;


 
Сергей2002   (2002-07-01 08:46) [3]

Подскажите кто знает, как загрузить OCX и использовать его функции. В крайнем случае прилинковать к EXE-файлу. Вариации на тему "REGSVR32" не нужны.
OCX следующий: AMOVIE.OCX; функции для использования что-то вроде FileName, Volume и т.д. и т.п.
За ранее спасибо!


 
kig ©   (2002-07-01 12:46) [4]

В минимальном случае In-Proc сервер содержит всего четыре экспортируемые ф-ции:

DllRegisterServer
DllUnregisterServer
DllCanUnloadNow
DllGetClassObject

В Вашем случае Вас интересует последняя, так функции интерфейсов не экспортируются. Через нее Вы получаете интерфейс фабрики IClassFactory. Через IClassFactory.CreateInstance Вы получаете один из интерфейсов, которые реализует этот объект. Т.е Вы иммитируете работу CoCreateInstance. Далее работаете с этим интерфейсом, примерно так же, как если бы подняли этот объект через COM.
Перед выгрузкой Вам необходимо освободить все интерфейсы, включая IClassFactory, а затем вызвать DllCanUnloadNow.

см. также описание CoGetClassObject.




Страницы: 1 вся ветка

Текущий архив: 2002.09.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-35919
Лана Розанова
2002-08-19 10:26
2002.09.12
ыви


1-35716
$hiC0
2002-09-02 19:26
2002.09.12
Опять-таки StringGrid


1-35699
bbp
2002-09-02 16:34
2002.09.12
Приведение типов


4-35946
Пастор
2002-07-21 14:57
2002.09.12
Как убрать кнопку проги с панели задач на АРI ?


14-35854
Администратор_сайта
2002-08-16 13:36
2002.09.12
Помогите пожалуйста!!!!!