Windows programımı kapatamıyor...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

Windows programımı kapatamıyor...

Mesaj gönderen nosedive »

Arkadaşlar çok özür :) alakasız bir yerde imiş olay..

Kod: Tümünü seç

procedure TFrmmain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := False;
  Frmmain.Hide;
end;
RXTray icon kullanıyorum..progrramı sağ üstteki çarpı ile kapatınca trayicon olarak atsın..görev çubuğunda görünmesin diye yukardakini yaptım...

Programda popup menudeki kapat ı tıklamadan kapanmıyor doğal olarak..e tabiki windows da bu yüzden kapatamıyor sanırım...

canclose := false ' den farklı bir yöntemle yapan arkadaş varsa bilgi verirse sevinirim..

Teşekkürler
En son nosedive tarafından 11 Ara 2006 10:58 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Buradan sadece XML parse kısımların görülmekte. Bence sorun göremediğimiz kısımlarda. Belki bir Timer'a bağlı olması belki de DownloadFile fonksiyonun.

- Sistemi meşgul eden iki unsur, yazılım türünden çıkarım yapmak istersem bunlardır.

- Hatayı irdelemek için bu bahsettiğim kısımları deveren çıkar ve denemeler yap.
Resim
Resim ....Resim
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

pardon

Mesaj gönderen nosedive »

hocam dediğiniz gibi proc ve func ları tek tek devreden çıkararak denedim..ve farklı bir yerde sorun olduğunu gördüm...

canclose := false olduğu için kapatamıyor windows..

bunu farklı nasıl yapabilirim..yukarda da detaylı anlattım zaten...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

CanClose := False; olayına bir şerh düşersin. Windows'dan geliyorsa istek o zaman müsade edersin. Şöyle ki

- Bir Global değişken tanımla. WindowsKapatiyor : Boolan = False;

- Diğer sorgularına destek olarak aşağıdaki benzer bir satır ile çözüm üret.

Kod: Tümünü seç

CanClose := WindowsKapatiyor;

Kod: Tümünü seç

    Procedure WM_QUERYENDSESSION(var Msg: TMessage); Message 
WM_QUERYENDSESSION; 

Kod: Tümünü seç

procedure TForm1.WM_QUERYENDSESSION(var Msg: TMessage); 
begin 
  WindowsKapatiyor := true; 
  Msg.Result := 1; 
end; 
ile eğer sistem kapanmak istiyorsa, senin program da bundan haberdar olur...

Başarılar...
Resim
Resim ....Resim
Cevapla