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

Вниз

Com объект без регистрации библиотеки   Найти похожие ветки 

 
Дмитрий СС   (2014-08-12 17:09) [0]

Добрый день. А можно ли создать экземпляр ком объекта не регистрируя его библиотеку.
Способ в лоб ничего не дал:


 function CreateMyObject: IMyObject;
 var
   Lib: HMODULE;
   DllGetClassObject: function (const CLSID, IID: TGUID; var Obj): HResult;
   CF: IClassFactory;
 begin
   ChDir(ExtractFilePath(ParamStr(0)) + "Bin");
   Lib := LoadLibrary("MyObject.dll");
   Win32Check(Lib > 0);
   DllGetClassObject := GetProcAddress(Lib, "DllGetClassObject");
   Win32Check(nil <> @DllGetClassObject);
   OleCheck(DllGetClassObject(CLASS_MyObject, IClassFactory, CF)); // Здесь в CF возвращается nil.
   OleCheck(CF.CreateInstance(nil, IID_IMyObject, Result));
 end;


Если можно, то как?


 
Дмитрий СС   (2014-08-12 17:14) [1]

Видимо для самой библиоетки нужно, чтобы она была зарегистрирована, там всякие TypeLibrary брать.


 
junglecat   (2014-08-12 17:20) [2]

а библиотека своя/чужая?


 
Дмитрий СС   (2014-08-12 17:27) [3]


> junglecat   (12.08.14 17:20) [2]

чужая
Lemmatizer http://aot.ru/download.php


 
Дмитрий СС   (2014-08-12 18:44) [4]

Пропустил stdcall:

DllGetClassObject: function (const CLSID, IID: TGUID; var Obj): HResult; stdcall;


Всем спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.005 c
15-1407529803
Юрий
2014-08-09 00:30
2015.03.29
С днем рождения ! 9 августа 2014 суббота


15-1408048206
Юрий
2014-08-15 00:30
2015.03.29
С днем рождения ! 15 августа 2014 пятница


2-1391686016
XCoder
2014-02-06 15:26
2015.03.29
Возврат результата из вложенной функции


15-1407699293
Дмитрий СС
2014-08-10 23:34
2015.03.29
Библиотека словоформ


15-1407875402
Юрий
2014-08-13 00:30
2015.03.29
С днем рождения ! 13 августа 2014 среда