Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: 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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.033 c
14-1109313006
вредитель
2005-02-25 09:30
2005.03.20
МРОС (читать заадомм наа пеередд) не дремлет


14-1109784234
lokid7
2005-03-02 20:23
2005.03.20
IP в локальной сети и доступ по нему к инету


4-1107344404
Serx
2005-02-02 14:40
2005.03.20
Кнопка Пуск


9-1104003473
MrAngel
2004-12-25 22:37
2005.03.20
Выполняем IDirect3DDevice9::CreateVertexBuffer в другом потоке


3-1108720041
Вудупипл
2005-02-18 12:47
2005.03.20
как зеркалировать FB





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский