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

Вниз

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

 
Oleg_   (2005-07-25 17:27) [0]

Подскажите, реально ли задействовать com без реесстра. У меня есть dll и clsid. А вот доступа к соответствующим ветвям реестра нет.
Спасибо


 
just_me   (2005-07-25 19:06) [1]

"без реесстра" не реально, исполняющей среде СОМ нужно из него извлечь необходимые для загрузки СОМ-сервера данные.
Что же касается "доступа к соответствующим ветвям реестра", то они нужны не вам, среде СОМ


 
Opuhshii   (2005-08-12 00:47) [2]

ещё как можно!

реестр нужен для того чтоб определить местонахождение сервера,
а зная его нахождение можно руками его загрузить, получить нужную фабрику и наплодить объектов.

типа так,..


procedure TForm1.Button1Click(Sender: TObject);
var
 ClassFactory:IClassFactory2;
 DllHandle:THandle;
 ADllGetClassObject:TDllGetClassObject;
 AObject:INoRegister;
begin
 DllHandle:=LoadLibrary("C:\Program Files\Borland\Delphi6\Projects\DelphiMaster\ComHelo2\noregister.dll");
 ADllGetClassObject:=GetProcAddress(DllHandle,"DllGetClassObject");
 OleCheck(ADllGetClassObject(CLASS_NoRegister_,IClassFactory2,ClassFactory));
 ClassFactory.CreateInstance(nil,INoRegister,AObject);
 OleCheck(AObject.Method1);
end;


+ нужно добавить выгрузку DllHandle в нужный момент,..
DllCanUnloadNow

сервер создавался Internal т.е. без регистрации в реестре.


initialization
 TTypedComObjectFactory.Create(ComServer, TNoRegister, Class_NoRegister,
   ciInternal, tmApartment);


итог:доступ к соответствующим ветвям реестра ваще нафиг никому на локальной машине не нужен  8)


 
isasa ©   (2005-08-12 11:31) [3]

зачем так извращаться. Или COM, или обычные библиотеки.
А если вызвать

ADllGetClassObject:=GetProcAddress(DllHandle,"DllRegisterServer");
OleCheck(ADllGetClassObject(...));

то получим, те-же яйца, только вид сбоку.


 
Opuhshii   (2005-08-12 11:33) [4]

"А вот доступа к соответствующим ветвям реестра нет"



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
15-1157803458
Mike Petrichenko
2006-09-09 16:04
2006.10.01
Плагиат цветет и пахнет!


2-1158157304
X_Tra
2006-09-13 18:21
2006.10.01
Double/int на c++ и соответствующие типы в D7


2-1157968494
Chuk & Gek
2006-09-11 13:54
2006.10.01
Защита


2-1158250576
prodeximus
2006-09-14 20:16
2006.10.01
Чтение данных поля из БД


8-1142237353
Alex_Delphi
2006-03-13 11:09
2006.10.01
Как сознать виртуальний CD диск