Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1407699293
Дмитрий СС
2014-08-10 23:34
2015.03.29
Библиотека словоформ


15-1408018598
Дмитрий СС
2014-08-14 16:16
2015.03.29
Как это называется?


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


2-1384890210
Denh
2013-11-19 23:43
2015.03.29
JSON сохранить "C: temp cv.txt" и обратно загрузить TJSONObject


15-1407412508
Ламот
2014-08-07 15:55
2015.03.29
Как залить прошивку на железку с предустановленным U-Boot?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский