Главная страница
    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.01 c
3-28637
AlexAlex2
2003-01-22 15:33
2003.02.10
Редактируемый Grid с помощью компонентов dbExpress


3-28666
lats
2003-01-24 09:10
2003.02.10
BDE не видит InterBase


1-28766
NsiSoft
2003-02-01 13:47
2003.02.10
Программное обеспечиние


4-29157
trotski
2002-12-24 22:33
2003.02.10
Подскажите адреса FAQ


1-28843
Natalia
2003-02-03 00:45
2003.02.10
edit





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