Вниз
Скачать: CL | DM;

Отключение от DCOM сервера   Найти похожие ветки 

← →
Alex_x ©   (2004-06-10 11:41) [0]

На сервере в таск менеджере смотрю кто запустил сервер и сколько екземпляров запущено но есть подозрение что когда клиет закрыватся то еземпляр сервера запущеного им осаётся висеть и его видно в таск менеджере


← →
Clickmaker ©   (2004-06-10 11:46) [1]

А зачем несколько экземпляров сервера? Сделай его сервисом, и пусть будет один на всех


← →
Alex_x ©   (2004-06-10 11:52) [2]

чесно говоря незнаю как, и иногда бывают моменты что ктото подвисает и я просто удаляю екземпляр запущеный им в тамк менеджере. Можна инфу как сделать из обыкновенного ДКОМ сервера сервис?


← →
JibSkeart   (2004-06-10 13:41) [3]

Не знаю как на делфях , но для этого
обычно еще и его обьяляют как синглетон (SINGLETOM)


← →
JibSkeart   (2004-06-10 13:41) [4]

Не знаю как на делфях , но для этого
обычно еще и его обьяляют как синглетон (SINGLETOM)


← →
Clickmaker ©   (2004-06-15 11:48) [5]


> Alex_x ©   (10.06.04 11:52) [2]

Создаешь новый сервис (File - New - Service Application). Переносишь туда свой код, заполняешь обработчики OnStart, OnStop, OnShutdown для правильного запуска и остановки сервиса (инициализация твоих переменных/освобождение памяти и пр.). В обработчике OnExecute должно быть

while not Terminated do begin
 ServiceThread.ProcessRequests(true);
end;


В dpr пишешь после begin

Installing := FindCmdLineSwitch("INSTALL", ["/"], true);
if Installing then begin

 RegisterAsService(GUIDToString(Class_YourServerClass), YourServiceName);
end else begin
 Installing := FindCmdLineSwitch("UNINSTALL", ["/"], true);
 if Installing then begin

   UnregisterAsService(GUIDToString(Class_YourServiceClass));
 end;
end;

процедура RegisterAsService есть в VCL (ComObj), UnregisterAsService ниже

procedure UnregisterAsService(ClassID: string);
var Registry: TRegistry;
begin
 Registry:=TRegistry.Create;
 Registry.RootKey:=HKEY_CLASSES_ROOT;
 if Registry.OpenKey("AppID\"+ClassID, false) then
   Registry.DeleteValue("LocalService");
 Registry.RootKey:=HKEY_LOCAL_MACHINE;
 if Registry.OpenKey("SOFTWARE\Classes\AppID\"+ClassID, false) then
   Registry.DeleteValue("LocalService");
 Registry.Free;
end;



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

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



Память: 0.46 MB
Время: 0.025 c
4-1107995867
FAQ
2005-02-10 03:37
2005.03.20
Как можно из Дельфи узнать скорости вращения вентиляторов ?


3-1108639405
DelphiN!
2005-02-17 14:23
2005.03.20
Создание новой базы ФБ


3-1108812877
Борис
2005-02-19 14:34
2005.03.20
Выбор СУБД для БД на 1 млн. записей


14-1109285890
Vasya.ru
2005-02-25 01:58
2005.03.20
Пятничные задачки или типа того


4-1105438856
zunder
2005-01-11 13:20
2005.03.20
какая функция включает и выключает устройства?




   Наверх