program sistemtray da iken bilgisayar kapanmıyor...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
barol
Üye
Mesajlar: 49
Kayıt: 05 Oca 2005 04:29
Konum: İzmir

program sistemtray da iken bilgisayar kapanmıyor...

Mesaj gönderen barol »

cooltrayicon komponetini kullanarak telefon rehberi yaptım.bilgisayar acılışında program system traye yerleşiyor bir sorun yok ama bilgisayar programım systemtraydeyken kapanmıyorm mauel olarak programı kapatmam lazım.. bu konuda bir fikri olan varsa yardımcı olabilrmi???.
Ölümden öteye köy yok!
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Programınızın onclose yada onclosequery kısmında yazmış olduğunuz kodlar programınızın kapanmasını engelliyor olabilir. dolayısıyla windows programınıza kapanma isteği gönderince programınız olumsuz cevap veriyordur. Windows'da kapanmıyordur. Belirli bir süre geçince XP'nin görevini sonlandır demesi gerekir. 9x sistemlerde uyarmayabilir.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
şu başlık belki işine yarıyabilir.
viewtopic.php?t=9712
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
barol
Üye
Mesajlar: 49
Kayıt: 05 Oca 2005 04:29
Konum: İzmir

Mesaj gönderen barol »

formun closequerysinde formun kapat düğmesinden kapatasın die aşagıdaki işlemi yaptıyorum....
biraz önceki örneği inceledim ama ben mesah falan cıksın istemiyorum direk kapansın istiyorum... yukarıdaki örnekerli inceledim ama hiçbirsey anlamadım acıkcası....
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=fgizle;
if not canclose then
begin
CanClose := False;
HideWindow1Click(Self);
end;
end;
Ölümden öteye köy yok!
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

CanClose:=False Yüzündendir

Mesaj gönderen sabanakman »

Merhaba. Bunun nedeni ~%99.99999 bir formda CanClose:=False olarak değer kalıyor. Bilgisayarın kapanabilmesi için formun ve programının kapanma anında bitirilmesi gerekir. Ben benzer bir durum yaşadım ve aşağıdaki şekilde giderdim.

Kod: Tümünü seç

  TFormAjanda = class(TForm)
    ..
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    Kapansin:Boolean;
    procedure Cik;
    procedure WMQueryEndSession(var Msg : TWMQueryEndSession); message WM_QUERYENDSESSION;
    ..
  end;

procedure TFormAjanda.FormCloseQuery(Sender: TObject;var CanClose: Boolean);
begin
  CanClose:=Kapansin;
  if not Kapansin then Hide; 
end;

procedure TFormAjanda.Cik; //formu kapatır
begin
  Kapansin:=True;
  Close;
end;

procedure TFormAjanda.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
  Kapansin:=True;
  inherited;
  //Msg.Result := 1;
end;
Kapansın ilk başta False olarak ayarlanırsa formu kapatırken form sadece görünmez olacak ve program çalışmaya devam edecektir. Oturum kapatılırken bu değişken değeri True olur ve program kapanmaya engel olmaz. Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
barol
Üye
Mesajlar: 49
Kayıt: 05 Oca 2005 04:29
Konum: İzmir

Mesaj gönderen barol »

dediğiniz işlemleri yaptım oldu.. ilgilendiğiniz için tesekur ederim...
Ölümden öteye köy yok!
Cevapla