Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-28917
Sewix
2003-01-31 09:13
2003.02.10
из string в PChar


14-29069
Дмитрий К.К.
2003-01-23 17:37
2003.02.10
1937-й год


1-28770
_hunter_
2003-02-01 15:07
2003.02.10
Запуск по таймеру


14-29031
Ihtiandr
2003-01-24 12:11
2003.02.10
InstallSheild


3-28594
Z-man7777
2003-01-25 10:52
2003.02.10
Выборка/сохранение из/ в базу любого файла





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