Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сервис [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 заставляет его крутится постоянно, без ожидания сообщения


Наверх

Титульная страница Поиск, карта сайта Написать письмо