Пользователь
Сообщения: 89
Благодарности: 0
|
Профиль
|
Отправить PM
| Цитировать
Вот привожу код. Основные события должны были выполняться в TService1.Timer1Timer - на данный момент мне нужно чтоб строка записывалась в файлы для проверки работы службы, я думаю если я добьюсь того что оно начнет работать и писать в файл тогда можно будет и другие события добавлять.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
ExtCtrls, DB, ADODB;
type
TService1 = class(TService)
Timer1: TTimer;
adocon: TADOConnection;
procedure ServiceStart(Sender: TService; var Started: Boolean);
procedure ServiceExecute(Sender: TService);
procedure Timer1Timer(Sender: TObject);
procedure ServiceStop(Sender: TService; var Stopped: Boolean);
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
Service1: TService1;
t:integer;
f: textfile;
cs: textfile;
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);
var strcon:string;
begin
started:=true;
t:=0;
AssignFile(F, 'D:\Progs\test_service\test.txt');
AssignFile(cs, 'connectionstring.txt');
rewrite(f);
reset(cs);
read(cs, strcon);
adocon.ConnectionString:=strcon;
adocon.Connected:=true;
timer1.Enabled:=true;
end;
procedure TService1.ServiceExecute(Sender: TService);
//var a:byte;
begin
//while not Terminated do
// a:=1;
//timer1.Enabled:=true;
//if timetostr(time)='00:00:00' then
timer1.Enabled:=true;
ServiceThread.ProcessRequests(true);
end;
procedure TService1.Timer1Timer(Sender: TObject);
begin
if timetostr(time)='16:10:00' then Writeln(f, 'õóé');
//t:=t+1;
//if t mod 5 =0 then
//begin
// Writeln(f, 'õóé');
// showmessage('test');
// end;
//if t>1000 then t:=0;
end;
procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
closefile(f);
closefile(cs);
stopped:=true;
end;
end.
|
Отправлено: 15:48, 05-01-2014
| #3
|