Windows çalışmayı durdurdu durumunu yakalama.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
tolgaozb
Üye
Mesajlar: 70
Kayıt: 26 Ara 2003 12:22
Konum: Karşıyaka
İletişim:

Windows çalışmayı durdurdu durumunu yakalama.

Mesaj gönderen tolgaozb »

Merhaba
7/24 çalışan bir programda zaman zaman "windows çalışmayı durdurdu hata ayıkla " vs. hata mesajı alıyorum ve program duruyor.
Hatanın nereden kaynaklandığını debug ederek çözmek mümkün olmadı. Bu durum oluştuğunda programın otomatik kapanmasını nasıl sağlayabilirim.? Tek bir formdan oluşan programın genel bir exception yakalayan bir form eventi varmıdır ?
Bununla ilgili fonksiyon örnek vs bilen var ise paylaşır ise memnun olurum..
Teşekkürler
T.Tolga Özbaltalar - http://www.veridizayn.com
xxxjedixxx
Üye
Mesajlar: 216
Kayıt: 10 Ara 2013 03:50

Re: Windows çalışmayı durdurdu durumunu yakalama.

Mesaj gönderen xxxjedixxx »

Merhaba,

Registry'de

"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Windows Error Reporting"

altındaki "DontShowUI" değerini 1 yapın. Uygulamanız çalışmayı durdurduğunda hiç bir mesaj göstermeden kapanacaktır.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Windows çalışmayı durdurdu durumunu yakalama.

Mesaj gönderen SimaWB »

tolgaozb yazdı:Tek bir formdan oluşan programın genel bir exception yakalayan bir form eventi varmıdır ?
Form üzerine TApplicationEvents bileşeni ekleyin. Bu bileşenin OnException olayına hata oluştuğunda yapmak istediğinize göre kodlarınızı yazın.
There's no place like 127.0.0.1
xxxjedixxx
Üye
Mesajlar: 216
Kayıt: 10 Ara 2013 03:50

Re: Windows çalışmayı durdurdu durumunu yakalama.

Mesaj gönderen xxxjedixxx »

Program içinde bir hata olduğunda Exception handler'ınız yoksa application'ın default exception handler'ı hatayı yakalayacak ve "Access violation..." hatası gibi bir uyarı çıkacaktır. Sorun ise Windows'un programın durdurulduğunu raporlaması ve öylece kalması olarak anlatılıyor. Yani exception yakalanamadan farklı bir sorun ortaya çıktığı için program duruyor. Bu yüzden "Windows Error Report" bileşenin raporlamasını kapatmak gerekiyor.
Cevapla