Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

Отключение от 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 вся ветка

Форум: "Corba";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
1-1109954622
muhan
2005-03-04 19:43
2005.03.20
Как создать кнопку


14-1108916899
Девушка
2005-02-20 19:28
2005.03.20
Ethernet-устройства


4-1108025928
Stanislav
2005-02-10 11:58
2005.03.20
Как отличить Flash память от Floppy


3-1108716191
msguns
2005-02-18 11:43
2005.03.20
Дата в IB


1-1109808256
SpiDeE
2005-03-03 03:04
2005.03.20
TURBO POWER ASYNC PROFESSIOANAL v (ниже 4.06)





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