Форум: "Прочее";
Текущий архив: 2015.03.29;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c