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

Вниз

Вопрос по сервисам под win2000!!!   Найти похожие ветки 

 
Miron12   (2002-03-15 11:52) [0]

Здраствуйте Жители королевства! Вопрос по сервисам под win2000!!!
Такой вопросик! написал сервис под 2000! запускаю и под делфи6 с параметром /instal появляеться в списке сервисов. Все ок!
Сервис реализован так, по таймеру переменная i заноситься в реестр.первоначально таймер активен.
пока не нажимаю ок на диалоговом окне "сервис инсталирован удачно" все нормально, после нажатия. все прекращаеться
может я чето не знаю, в чем ошибка? ниже приведен полный код модуля сервиса!
Помогите пожалуйста уже незнаю где искать!

unit service_u1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
DirectPort, ExtCtrls, Registry;

type
TService1 = class(TService)
Timer1: TTimer;
procedure ServiceStart(Sender: TService; var Started: Boolean);
procedure ServiceStop(Sender: TService; var Stopped: Boolean);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;

var
Service1: TService1;

implementation

{$R *.DFM}


procedure ServiceController(CtrlCode: DWord); stdcall;
begin
Service1.Controller(CtrlCode);
end;

function TService1.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;

procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
begin
Timer1.Enabled:=true;
end;

procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
Timer1.Enabled:=false;
end;

procedure TService1.Timer1Timer(Sender: TObject);
var i:integer;
reg: TRegistry;
begin
i:=чего-то присваиваем;

reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey("Software\Aerotechnica",false);
reg.WriteString("port", IntToStr(i));
reg.CloseKey;
reg.free;

end;


 
Shaman_Naydak   (2002-03-15 13:25) [1]

а ты, это - того, запусти его из панели упраления/сервисы


 
Miron12   (2002-03-18 10:49) [2]

не гони! я его запускаю из сервиса. Доходит до половины и ругаеться
мол устройство не готово! :(( че делать не знаю


 
vuk   (2002-03-18 11:02) [3]

procedure TService1.ServiceExecute(Sender: TService);
begin
while not Terminated do
ServiceThread.ProcessRequests(True);
end;

Скорее всего должно помочь.


 
erik   (2002-03-18 13:30) [4]

Или записти тред из ServiceStart.


 
Shaman_Naydak   (2002-03-18 18:20) [5]

>> vuk
Так этот код wizard сам вставляет.. или думаешь, его убрали?

>> erik
OnServiceStart, как и OnServiceStop запускаются уже из нити сервисного потока



 
erik   (2002-03-19 14:43) [6]

А тебе нужно организовть дополнительный поток или говорить основному, что ты работаеш ServiceThread.ProcessRequests(True);
Иначе тебя выгрузят.



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

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

Наверх





Память: 0.46 MB
Время: 0.017 c
3-55026
Zak
2002-05-24 07:51
2002.06.17
База на СД не работает!


6-55244
Prikolist
2002-04-09 10:00
2002.06.17
Граждане, Ваша помощь нужна!!!


1-55076
Demon[eXp]
2002-06-05 19:58
2002.06.17
Сортировка записей в TMemo, с применением алгоритма сортировки.


1-55191
Jen_Bond
2002-06-05 01:33
2002.06.17
Найти разницу


3-55046
QWest
2002-05-23 17:28
2002.06.17
Не пойму, где ошибка......





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