Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Внизпомогите разобраться с Tservice Найти похожие ветки
← →
koly01 (2003-01-29 15:02) [0]Здравствуйте!
Обьясните мне что то я не понимаю, делаю проект с TService, к проекту цепляю форму убираю ее из автосоздания и создаю, запускаю ее в TSERVICE.start
На форме находиться программа которая выполняется ... к форме есть еще один модкль *.Pas в котором находяться некоторые процедуры для выполнения вызываються они из основнолй программы расположенной на форме ... дык вот после запуска TSERVICE форма стартует нормально начинает выполняться и просто останавливаеться на пути ... service - работает, форма тоже не закрывается ... но программа на ней не продолжает выполнение ...
ЧТО ДЕЛАТЬ ... незнаю
С Уважением Koly01
← →
Darkwin (2003-01-29 15:06) [1]Что значит "программа на форме"?
← →
koly01 (2003-01-29 15:08) [2]не предерайтесть к словам ... вы же все поняли .
Есть приложение с формой и соответствующим кодом ...,
просто нужно очень, торопилься ... вот и немного неточно написал .
← →
Darkwin (2003-01-29 15:23) [3]вот сервис
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, Unit2;
type
TService1 = class(TService)
procedure ServiceStart(Sender: TService; var Started: Boolean);
procedure ServiceStop(Sender: TService; var Stopped: Boolean);
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
Service1: TService1;
f:TForm2;
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
f:=TForm2.Create(nil);
ShowWindow(f.Handle,SW_SHOW);
end;
procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
f.Free;
end;
end.
вот форма по таймеру меняется капшион
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm2 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Caption:=DateTimeToStr(Now);
end;
end.
← →
Digitman (2003-01-29 15:27) [4]потому что все обработчики событий класса TService выполняются в доп.код.потоке сервис-процесса
← →
koly01 (2003-01-29 15:35) [5]А теперь сделай в событии таймер
вызов процедуры которая ... находиться в другом предцепленной Unit3, которая производит запись в файл или базу ...
← →
koly01 (2003-01-29 15:36) [6]Digitman ©
НЕ понял поподробней об этом ....
← →
Digitman (2003-01-29 15:54) [7]
> koly01
А почитать ? Для начала ? Про использование VCL в доп.код.потоках ?
← →
koly01 (2003-01-30 05:45) [8]Подскажите где почитать ...???
почитаю ...
← →
Digitman (2003-01-30 08:27) [9]Да хэлп же ! Перед носом ведь он) .. см. TThread и его метод Synchronize()
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c