Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 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