![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Service Application в Delphi 7.0 [D7, WinXP]
Creator___ © (2005-03-05 11:29:00)Господа, такой вопрос. Пишу сервис в Delphi. При заргузке сервиса все в порядке. При остановке (при нажатии "Остановить" в консоле Windows) с первого раза Windows пишет, что невозможно остановить сервис, и что он не возвращал код ошибки. При повторном нажатии останавливает сразу, но Windows не видит этого и пытается еще какое-то время. То есть приходится нажимать на "остановить сервис" 2а раза подряд. Может кто сталкивался с подобным траблом и знает, как это решается. ЗЫ с другими сервисами все в порядке.
Набережных С. (2005-03-05 16:35:00) [1]А мне вот это понравилось
> CoInitialize(nil);
> ADOConnection1.ConnectionString := GetSQLConStr;
> ADOConnection1.Connected := true;
> CoUnInitialize;
Digitman (2005-03-05 13:03:00) [2]
> while not terminated do
> begin
> sleep(30000);
> end;
а КТО за тебя будет обрабатывать команды и сообщения сервису ?
метод ProcessRequests - он для Пушкина ?
Creator___ (2005-03-05 11:45:00) [3]procedure TDExServ.ServiceStart(Sender: TService; var Started: Boolean);
begin
Started := true;
loadopt;
fblock := false;
assignfile(fl,getwinpath+'\system32\dex.log');
logbuf := TStringList.Create;
lbIPs := TStringList.Create;
CoInitialize(nil);
ADOConnection1.ConnectionString := GetSQLConStr;
ADOConnection1.Connected := true;
CoUnInitialize;
PopulateIPAddresses;
StartServer;
reportstatus;
end;
procedure TDExServ.ServiceExecute(Sender: TService);
begin
Dexserv.Status := csRunning;
dexserv.ReportStatus;
while not terminated do
begin
sleep(30000);
end;
Dexserv.Status := csStopped;
dexserv.ReportStatus;
end;
VMcL (2005-03-05 11:35:00) [4]Телепаты в отпуске, так что код в студию.