Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
2-1158303477
Std
2006-09-15 10:57
2006.10.01
Всплывющее окно в виндовом стиле


1-1156155326
anton773
2006-08-21 14:15
2006.10.01
PrintDocument и PrintprevievDialog


15-1157667031
SerJaNT
2006-09-08 02:10
2006.10.01
Новая версия jViewer 1.1 - Зацените!


2-1158223978
megasecure
2006-09-14 12:52
2006.10.01
Проблема с ADO


2-1157788881
_ERIC_
2006-09-09 12:01
2006.10.01
Обновление TWebBrowser




   Наверх