![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сервис [D5, NT4, Win2k, WinXP]
kawner © (2003-05-23 17:28:00)Пишем сервис в delphi. Если написать такой код, то получаем 100% загрузку процессора(в диспечере задач сам то я не чувствую). Как решить проблему? Если не делать цикл, то сервис закрывается с сообщением что ему мол нечего делать...
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
Service1.Controller(CtrlCode);
end;
function TService1.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TService1.ServiceExecute(Sender: TService);
var ini:TIniFile;
begin
ini:=TIniFile.Create("ini.ini");
sSocket.Port:=ini.ReadInteger("Port","p",40000);
ini.Free;
sSocket.Active:=true;
//-----------код виновный в загрузке процессора------
while not Terminated do begin
ServiceThread.ProcessRequests(False);
end;
//---------------------------------------------------
end;
procedure TService1.sSocketClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
if Check then Socket.SendText("yes")
else Socket.SendText("no")
end;
clickmaker (2003-05-23 18:56:00) [1]ProcessRequests( true)
false заставляет его крутится постоянно, без ожидания сообщения