Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Чтение параметра в сервисе / 9 сообщений из 9, страница 1 из 1
28.07.2017, 06:22:28
    #39496395
roma1975
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
Доброе утро.

Пробую в службе читать параметр, так как обычно в процедуре ServiceExecute
Код: pascal
1.
tipsystem1:=ParamStr(1);


потом записываю переменную в файл, а там пусто.
Как прочитать в сервисе параметр?
...
Рейтинг: 0 / 0
28.07.2017, 07:18:29
    #39496400
asutp2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
roma1975,

попробуй перед именем функции добавь имя модуля System:

Код: pascal
1.
tipsystem1:=System.ParamStr(1);
...
Рейтинг: 0 / 0
28.07.2017, 07:38:02
    #39496406
roma1975
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
Нет, тоже пусто.
...
Рейтинг: 0 / 0
28.07.2017, 08:26:55
    #39496419
asutp2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
roma1975,

параметры /install и /uninstall при ручной установке/деинсталляции считываются через ParamCount/ParamStr?
...
Рейтинг: 0 / 0
28.07.2017, 09:00:44
    #39496430
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
roma1975,

придется код и командную строку показать. Что уж тут поделать.
...
Рейтинг: 0 / 0
28.07.2017, 09:55:27
    #39496479
roma1975
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
Никакие параметры не считывает.

Это в параметре delphi:

Код: pascal
1.
/AES1




Это в программе:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
var
  Service1: TService1;
  sobch1,sobch2,sobch3,sobch4,sobch5,sobch6,tipsystem1: string;

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 s2,s3,s4,s5,s6,s7,s8: string;
Ini: Tinifile;
BaudRate: TBaudRate;
 StopBits: TStopBits;
  Parity: TParityBits;
  DataBits: TDataBits;
begin
  Started := True;


  
end;

procedure TService1.ServiceExecute(Sender: TService);
var s2,s3,s4,s5,s6,s7,s8,s: string;
Ini: Tinifile;
BaudRate: TBaudRate;
 StopBits: TStopBits;
  Parity: TParityBits;
  DataBits: TDataBits;
  i: integer;
begin
  

  ADOConnection1.Connected := false;
  Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'Przapdancomport.ini');
  s2:=Ini.ReadString('Main','SERVER','');
  ADOConnection1.ConnectionString:=s2;

  
   tipsystem1:=System.ParamStr(1);


  Ini.WriteString('AES1','NUMSYSTEM',tipsystem1);
  Ini.Free;


  While not Terminated do
ServiceThread.ProcessRequests(True);


end;

procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
Stopped := True;
end;
...
Рейтинг: 0 / 0
28.07.2017, 10:34:06
    #39496507
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
Может стоит от греха подальше просто перейти на хранение настроек в реестре?
...
Рейтинг: 0 / 0
28.07.2017, 10:52:11
    #39496518
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
roma1975Никакие параметры не считывает.

Это в параметре delphi:

Код: pascal
1.
/AES1



Не писал сервисы на Delphi (точнее писал, но через API), но вроде эти параметры относятся только к обычным приложениям. Сервис запускается с теми параметрами, которые у него прописаны в реестре.
...
Рейтинг: 0 / 0
28.07.2017, 11:09:43
    #39496533
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение параметра в сервисе
alekcvpСервис запускается с теми параметрами, которые у него прописаны в реестре.

Точнее ему приходят два набора параметров: один, прописанный в командной строке при
инсталляции сервиса и второй, заданный в специальном поле менеджера сервисов при запуске
сервиса. Причём приходят они разными путями. Но действительно, параметры, задающиеся в
IDE, не имеют отношения ни к тем, ни к другим.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Чтение параметра в сервисе / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]