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

Чёртов Service   Найти похожие ветки 

← →
Vladimyr ©   (2005-03-11 11:28) [0]

Доброе время суток всем, кто сумел написать сервис на KOL :)
У меня возникла следующая проблема: до момента показа формы всё работает нормально, а в момент закрытия оной вылезает ошибка обращения к памяти по адресу "00000000".

Код примерно такой:

1. в файле "Testserv_1.inc":

if Start then exit;

2. в файле "TestServ.dpr":

function Start: boolean; stdcall;
begin

  ServTable[0].lpServiceName := SERVICE_NAME;
  ServTable[0].lpServiceProc := @ServiceProc;
  ServTable[1].lpServiceName := nil;
  ServTable[1].lpServiceProc := nil;
  result := StartServiceCtrlDispatcher (ServTable[0]);
  if not result and (GetLastError = ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) then
    MsgOK ("Usual start...");
end;


(то есть проверяем, как стартовали - как сервис или как приложение, и во втором случае запускаем апплет обычным порядком -  тут всё OK, апплет стартует и нормально завершается)

procedure ServiceProc(argc: DWORD; var argv: array of PChar) stdcall;
begin

  ...
  NewForm1 (Form1, pointer (Applet));
  run (Applet);

end;


...а вот тут ошибка - апплет стартует нормально, а в момент завершения обращается к несуществующей памяти...

Сердцем чую, что какая-нибудь ерунда...  :-)


← →
Vladimyr ©   (2005-03-11 12:22) [1]

Ещё одно странное наблюдение:
если в процедуре "ServiceProc" добавить после "run (Applet);" команду "MsgOK ("The end");" или "sleep (100);", то апплет завершается без ошибки!

Вот это уж совсем непонятно...  ==(
(хотя вроде бы решает проблему)


← →
Vladimyr ©   (2005-03-11 12:38) [2]

Вроде бы нашёл причину: статус сервиса в процедуре ServiceCtrlHandler у меня обновлялся с интервалом 100 мс...

Сам спросил, сам и ответил... <;*}



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

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



Память: 0.45 MB
Время: 0.026 c
14-1129571602
Sergey_Masloff
2005-10-17 21:53
2005.11.06
Поковырялся сегодня в исходниках Indy... мама родная


14-1129617966
syte_ser78
2005-10-18 10:46
2005.11.06
помогите составить техзадание


2-1129298374
PAI
2005-10-14 17:59
2005.11.06
TaskBar


1-1129551717
Bagdat
2005-10-17 16:21
2005.11.06
Маска в StringGrid


14-1129414319
TStas
2005-10-16 02:11
2005.11.06
Что почитать про handle и hook?




   Наверх