Firebird hata mesajlarının kontrolü.
Firebird hata mesajlarının kontrolü.
Merhaba arkadaşlar.
Hazırladığım veritabanında yaklaşık 7 tane aktif kullanıcı var.
Bunların içinde kayıt girme yetkisi olan var olmayan var.
A tablosuna ali girmryr tam yetkili fakat Veli sadece okumaya Veli bağlandığı zaman serverdan ingilizce olarak siz sadece select işlemi yapabilirsiniz gibi bir mesaj geliyor. Bu Mesajları ben kendim yazmak ve kullanıcıya göndermek isterim.
Nasıl nerden yapabilirim.
Şimdiden herkese teşekkür ederim.
Hazırladığım veritabanında yaklaşık 7 tane aktif kullanıcı var.
Bunların içinde kayıt girme yetkisi olan var olmayan var.
A tablosuna ali girmryr tam yetkili fakat Veli sadece okumaya Veli bağlandığı zaman serverdan ingilizce olarak siz sadece select işlemi yapabilirsiniz gibi bir mesaj geliyor. Bu Mesajları ben kendim yazmak ve kullanıcıya göndermek isterim.
Nasıl nerden yapabilirim.
Şimdiden herkese teşekkür ederim.
Kullandıgınız table veya query bilesenlerinin on post error, on delete error gibi eventlerinde hata mesajını yakalayıp ayıklayabileceginiz gibi. Daha genel bir yontem olarak.:
Formunuza bir TAppEvent koyup onexeption eventinde de
Bunun daha da guzel ve bir yolu da boş bir forma sadece TAPPEvent'i koyup ilgili eventine de kodu yazdiktan sonra. Bu forma mesela FRM_ANA ismini verip kaydettikten sonra diger butun formlarinizin
seklindeki clas tanimlamasını
sekline donusturup uses kısmına da FRM_ANA formunun dosya adini eklerseniz bu sayede tek bir yere yazacaganiz baska baska kodlar da butun formlariniz icin calismis olacaktir.
Bu yonteme form inherit etmek denir ki. Bu yontemi gelistirerek birbirinden inherit edilmis detayli bir inheritence form agaci olusturarak cok fazla kolayliklar saglayabilir ve bir cok standart kodun nasil yazildigini unutacak sekilde artik kullanmayabilirsiniz...
Kolay gelsin...
Formunuza bir TAppEvent koyup onexeption eventinde de
Kod: Tümünü seç
procedure TFRM_ANCESTOR.APE_MAINException(Sender: TObject; E: Exception);
var
VAR_MESSAGE : string;
begin
VAR_MESSAGE:=E.Message;
// Burada mesaji inceler hangi mesaj oldugunu kontrol edip
// Türkçe bir mesaj verebilirsiniz..
// Veya Abort; komutu ile hatayi kullanıcıya yansıtmayabilirsiniz de...
end;
Bunun daha da guzel ve bir yolu da boş bir forma sadece TAPPEvent'i koyup ilgili eventine de kodu yazdiktan sonra. Bu forma mesela FRM_ANA ismini verip kaydettikten sonra diger butun formlarinizin
Kod: Tümünü seç
type
TFRM_BASIC = class(TForm)
Kod: Tümünü seç
type
TFRM_BIRIM = class(TFRM_ANA)
Bu yonteme form inherit etmek denir ki. Bu yontemi gelistirerek birbirinden inherit edilmis detayli bir inheritence form agaci olusturarak cok fazla kolayliklar saglayabilir ve bir cok standart kodun nasil yazildigini unutacak sekilde artik kullanmayabilirsiniz...
Kolay gelsin...
Sanırım aslında istediginiz oldu fakat Delphi icinden programi calistirdiginizda programciyi uyarmak icin sadee Delphi Compiler'ina verilen hata sizi yaniltiyor. O hata normalde programin exe'sini dogrudan calistirdiginizda verilmeyecektir. Sadece sizin kontrolunuzden gectikten sonra sizin verdiginiz mesaj ekrana verilecektir.
Dogrudan exe'yi calistirarak durumu gozleyebilirsiniz.
Kolay gelsin....
Dogrudan exe'yi calistirarak durumu gozleyebilirsiniz.
Kolay gelsin....
procedure TForm5.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
VAR hata_msg:string;
begin
hata_msg := E.Message;
showmessage(hata_msg);
end;
Kod yukardaki gibi sizde aynen böyle yazmışsınız kod çalışıyor çünki showmessage kısmı bana geliyor fazak bu koddan önce aynı mesaj yine geliyor orayı bulamadım.
E: Exception);
VAR hata_msg:string;
begin
hata_msg := E.Message;
showmessage(hata_msg);
end;
Kod yukardaki gibi sizde aynen böyle yazmışsınız kod çalışıyor çünki showmessage kısmı bana geliyor fazak bu koddan önce aynı mesaj yine geliyor orayı bulamadım.