Windows Service Application sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

Merhabalar arkadaşlar, geçmişte birçok kez yapmama ragmen kaynak kodlarım da kaybolduğu için şu an sıkıntıya düştüm.Sorunum; başlıktanda anlaşılacağı üzere servis uygulamaları.Bir uygulamamız var bazı işlemleri yaptırmak istiyoruz yani zamanı gelince bir dll içerisindeki formu göstermek, uyarı mesajı vermek vs. gibi basit birkaç işlemi servis üzerinden yapmak istiyoruz ama bu uygulamayı ben açıyorum kendi kapanıyor bunun bir çaresi vardı hatırlayamadım ve bulamadım da bu konuda yardımlarınızı bekliyorum.

(Kullandığım sistemler; Win vista ultimate, delphi 2007)
UWESIS CORPORATION
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

arkadaşlar yokmudur kimsenin fikri veya kimse servis yazmadımı bu güne kadar hiç böyle bir durum gelmedmi başınıza?
UWESIS CORPORATION
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Windows Service Application sorunu

Mesaj gönderen vkamadan »

Merhaba ,
Uygulamayı açıyorum kendi kapanıyor derken, servis uygulamanızı servislere install edip başlat dedikten sonra kendi kendine mi duruyor demek istediniz yoksa normal pencere uygulaması gibi çift tıklayıp çalıştırdığınızdamı hemen görünüp kayboluyor, eğer ikinci şıksa delphi servis uygulamalarını varsayılan "/install" parametresiyle servis yönetcisine install edip oradan çalıştırmanız gerekir servisler arka planda farklı bir mantıkla çalışır, bunu bir netleştirelim ona göre devam edelim.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

Hocam servis.exe /install olarak yazıyorum 1 saniye çalışıyor daha sonra program çalışmayı durdurdu hatası alıyorum hizmetlerin içerisinde de uygulamayı bulamıyorum, bu servisin içerisinde hiçbir kod yok servisi canlı tutmak için içerisinde sürekli işlemler mi yapmak gerekli veya servisin sürekli çalışması için ne yapmam gerekli
UWESIS CORPORATION
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Windows Service Application sorunu

Mesaj gönderen vkamadan »

Merhaba ,
Servisin sürekli çalışmayı sürdürmesi için ,
Servis modülünüzün OnExecute olayında

Kod: Tümünü seç

while not Terminated do ServiceThread.ProcessRequests(True);
Deyimini kullanıyor olmanız gerekir, kullanmıyorsanız eklemeniz sorunu çözecektir.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

Hocam çok teşekkürler şu anda çift tıklayıp açtığım zaman çalışıyor ama servislere eklemeye kalkınca service.exe /install yazıp entere bastığım anda ilk çalışıyor sonra 1 saniye sürüyor hataya düşüyor kapanıyor sorun vistadan kaynaklanıyor olabilir mi veya yanlış yaptığım yerler mi var

çalışmayı durdurdu hatası aldığımda hata ayıkla butonuna tıklayınca şu şekilde bir uyarı gözükmekte:

Kod: Tümünü seç

An unhandled win32 execption occurred in ServiceApplication.exe [4068].
Just-In-Time debugging this exception failed with the following error:
No installed debugger has Just-In-Time debugging enabled.In Visual Studio, Just-In-Time debugging can be enabled from Tools/Options/Debugging/Just-In-Time.

Check the documentation index for Just-in-time debugging, errors' for more information
bu ayar kısmına girdikten sonra Tools/Options/Debugging'e, Just-In-Time şeklinde bir ayar bulamadım.Nerde yanlış yapıyorum
UWESIS CORPORATION
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Windows Service Application sorunu

Mesaj gönderen vkamadan »

Merhaba ,
TServis ten türemiş sınıfınızın kodlarını buraya yapıştırımısınız, bir göz atalım.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

Buyrun Hocam;

Kod: Tümünü seç

program ServiceAppForm;

uses
  SvcMgr,Dialogs,
  ServiceApp in 'ServiceApp.pas' {Service1: TService};

{$R *.RES}



begin
  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;
  Application.CreateForm(TService1, Service1);
  Application.Run;
end.

Kod: Tümünü seç

unit ServiceApp;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
  ExtCtrls;

type
  TService1 = class(TService)
    Timer1: TTimer;
    procedure ServiceExecute(Sender: TService);
    procedure Timer1Timer(Sender: TObject);
    procedure ServiceCreate(Sender: TObject);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    { Public declarations }
  end;

var
  Service1: TService1;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  Service1.Controller(CtrlCode);
end;

function TService1.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

PROCEDURE SHOWDLLDESKTOP1;FAR;EXTERNAL'CDNS_DESKTOPS.DLL';
procedure TService1.ServiceCreate(Sender: TObject);
begin

end;

procedure TService1.ServiceExecute(Sender: TService);
begin
while not Terminated do ServiceThread.ProcessRequests(True);
end;

procedure TService1.Timer1Timer(Sender: TObject);
begin

end;

end.
UWESIS CORPORATION
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Windows Service Application sorunu

Mesaj gönderen vkamadan »

Merhabalar ,
Kodlarınızda teorik olarak çalışmayı durduracak herhangi bir sorun görülmüyor, servis property leri arasında yer alan
Interactive özelliğine TRUE değeri vermelisiniz , ayrıca ServiceType özelliği stWin32 şeklide ayarlanmış olmalıdır. Ayrıca bir dipnot,
servis modülünüzün Name özelliğine verdiğiniz isim çok önemli, delphi varsayılan olarak "Service1" adını verir ,ve windows hizmet yöneticisine bu isimde kayıt olur, aynı isimde birden fazla servis windowsa yüklenemez, kısacası servisinize mutlaka ayırıcı bir isim vermelisiniz.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

hocam dediklerinizi yaptım yine aynı sonucu verdi çift tıklayıp açınca sorun yok ama install ederken çalışıp kapanıyor service properties de şu şekilde

Kod: Tümünü seç

waithint | 5000
oldcreateorder | False
AllowPause | True
AllowStop | True
DisplayName | C_ServiceEx
ErrorSeverity | esNormal
Interactive | True
LoadGroup | Boş
Name | C_ServiceEx
PassWord | Boş
ServiceStartName | Boş
ServiceType | stWin32
StartType | stAuto
Tag | 0
TagID | 0
servisi de şu şekilde install etmeye çalışıyorum

Kod: Tümünü seç

 CMD Komut satırında D sürücüsüne ve klasörlere geliyorum
D:\Temp Applications\ServiceApp\ServiceApp.exe /install /silent 
UWESIS CORPORATION
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Windows Service Application sorunu

Mesaj gönderen vkamadan »

Merhaba ,
Bir çok servis uygulaması yazdım, kimisi mail denetleyen kimisi yedekleme yapan benzer bir sorunla karşılaşmadım tüm servislerimi Vista sistemlerdede deneme şansım oldu herhangi bir sorun yaşamadım.
Sizin kodlarınızdada teorik olarak bir sorun görülmüyor, şu noktadan sonra yorum yapamıyorum maalesef.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

Hocam yol gösterdiğiniz için çok teşekkür ederim sorunu çözdüğümde burada yayınlarım tekrar teşekkür ederim
kolay gelsin.
UWESIS CORPORATION
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

bu arada şunuda sormak istiyorum hocam bu servisi ben registry den çalıştırsam açılışta run altından bu olay ile ne gibi farkları olur yani install etmek ile run altından çalıştırmak arasında ne farklar vardır
UWESIS CORPORATION
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: Windows Service Application sorunu

Mesaj gönderen deltas »

hocam kodlarını windows 7 de denedim çalıştı. windows 7'de yanlış bilmiyorsam vista üzerine yazılmış. yani özellik olarak aynı. sadece install ederken "programı yönetici olarak çalıştır " özelliğini aktif etmem gerekti. yoksa hata verdi. kodları denediğim sistem;
delphi 2009
win7
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Windows Service Application sorunu

Mesaj gönderen CiTiZEN »

evet hocam o şekilde yapınca sorunsuz çalıştı emeği geçen arkadaşlara çok teşekkür ediyor, kolaylıklar diliyorum
UWESIS CORPORATION
Cevapla