Hataların Formda gösterilmesi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Hataların Formda gösterilmesi

Mesaj gönderen Nemesis2005 »

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ü?
En son Nemesis2005 tarafından 19 Şub 2005 01:53 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

üst sağ köşedeki Resim butonuna tıklayarak başlığı düzeltiniz
.-.-.-.-.-.-.-. ^_^
Misafir

Mesaj gönderen Misafir »

merhaba.
profesyonel yazılımlarda sistematiklik açısından bahsettiğiniz gibi yapılıyor hocam zaten.
kolay gelsin.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

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

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;
böyle bir prosedürü ana formunuza deklare etikten sonra ana formunuzun OnCreate olay metoduna

Kod: Tümünü seç

Application.OnException:=HataOlustu;
artık projenizini ürettiği tüm istisnaları böylikl genl anlada yakalamış olrsunuz.
kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Teşekkürler gerçekten yardımcı oldu. Merak ettiğim bir şey daha var Ana Form fsMdiForm , diğer formlar ise fsMDIChild Form Yavru formlardaki oluşan hatalarda ana formdaki hata yordamına Hata mesahjı gönderirmi
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

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


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.
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
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Teşekkürler gerçekten nasıl yapmalıyım sorusuna fikir vermiş oldu . iyi açılşmalar
Cevapla