Proramda oluşan tüm hatalarını ( kayıt hatası,update hatası ve buna benzer)
bir form oluşturup bu hataları bu form üzerinde göstermek istiyorum.. Procedure içine yadığım try except ile o procedure için yapıyorum. Proje geneli için böyle bir şey mümkün mü?
Hataların Formda gösterilmesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Hataların Formda gösterilmesi
En son Nemesis2005 tarafından 19 Şub 2005 01:53 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
merhaba ,
projenizin üreteceği ne var ne yok bütün hataları yakalamak isterseniz,
TApplication nesnesinin OnException olay metodunu kulanbilirsiniz bunun için bir procedure yazın örneğin
böyle bir prosedürü ana formunuza deklare etikten sonra ana formunuzun OnCreate olay metoduna
artık projenizini ürettiği tüm istisnaları böylikl genl anlada yakalamış olrsunuz.
kolay gelsin.
projenizin üreteceği ne var ne yok bütün hataları yakalamak isterseniz,
TApplication nesnesinin OnException olay metodunu kulanbilirsiniz bunun için bir procedure yazın örneğin
Kod: Tümünü seç
procedure HataOlustu(Sender:TObject;Hata:Exception);
begin
if (Hata.ClassType.ClassName='EConvertError') then //çevirme hatası
begin
// yakaladığınız hatada olacaklar mesela bir statu bara yazdırabilrsiniz
end
else Application.ShowException(hata); //beklemdiğiniz hataları da mesajla gösteriniz.
end;
Kod: Tümünü seç
Application.OnException:=HataOlustu;
kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
hataları form içinde göstermek için ben böyle kullanıyorum
önce Hata olusunca hatayı gösterecek formu olusturuyorum
formun icine buttonlar richedit ekliyorum
ve hata formu gösterilince form içindeki buttonların click olayında
hatayı kaydet ,rapor et ,emaile yolla,programı yeniden baslat,programı sonlandır gibi secenekler sunuyorum.
..................
umarım faydalı olur
önce Hata olusunca hatayı gösterecek formu olusturuyorum
formun icine buttonlar richedit ekliyorum
Kod: Tümünü seç
//mainform
public
procedure GlobalHataYakala(Sender: TObject; E: Exception);
uses AKL_HATA;// hat form uniti
procedure TForm1.GlobalHataYakala(Sender: TObject; E: Exception);
begin
try
AKL_HataForm := TAKL_HataForm.Create(Application);
with AKL_HataForm do
begin
RichEdit1.Text :=
'DİKKAT! AFT Hata Algıladı!' + #13#10 +
'Tespit Edilen hata türü : ' + #13#10 + E.Message;
//procedure hata kaydet
//procedure işlemler yap
ShowModal; //göster
end;
finally
AKL_HataForm.Free;
end;
end;
------------------------------
{ unit in en altına -->>end.<<-- den önce }
initialization
try
Application.OnException := Form1.GlobalHataYakala;
except
ShowMessage('Hata kaydı basarısız' );
end;
finalization
try
//acık formları kapat free et ve nil olrak ata
except
ShowMessage('hatanın hatası oldu abi kusura bakma.');
end;
end.
hatayı kaydet ,rapor et ,emaile yolla,programı yeniden baslat,programı sonlandır gibi secenekler sunuyorum.
..................
umarım faydalı olur
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir