EMathError uyarılarını değiştirmek..

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

EMathError uyarılarını değiştirmek..

Mesaj gönderen qamyoncu »

Merhaba herkese..

SysUtils'in içinde baya aradım.. 'İnvalid floating point operation' uyarısının gelmesini sağlayan kodu bulamadım.. Programım bu uyarı vermesine rağmen sorunsuz çalışıyor. Uyarıyı engellemk istiyorum.. Ama hernedense uyarı çıkıyor karşıma sürekli.. Bende delphinin kaynak dosyalarından engellemeyi düşündüm.. ama yerini bulamadım.. 'ErrorHandler' diye bir procedure var SysUtils'in içinde ama anlayamadım kodları..:S

Uyarı türü : EinvalidOp

yardımcı olabiilicek arkadaşa teşekkürleri borç biliciğim.. :)
şimdiden sağolun..
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: EMathError uyarılarını değiştirmek..

Mesaj gönderen emin_as »

Genelde bu hatalar kod içinde try bloklarla yakalanıp, sorun giderilir.
Eger amacın bu hataların görünmesini engellemek veya genel bir yakalama bölümü yaratmaksa, application.onexception eventini kullanmalısın. Hataların görünmesini engellersen, kullanıcı neyin yanlış yaptıgını bilemez ve program kararsiz bir hale gelebilir. Hataya neden olan bloklardan sonrası çalıştırılmayacaktır.

Application.Onexception yakalanmayan exceptionlarin işlenecegi eventtir.
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Re: EMathError uyarılarını değiştirmek..

Mesaj gönderen Jire »

Kod: Tümünü seç

 try
       ValidOP();
    except
      on EinvalidOp do
        //senin istediğin kod...
    end;
İstediğin şey bu mu?
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: EMathError uyarılarını değiştirmek..

Mesaj gönderen qamyoncu »

ben zaten try except bloğu kullanıyorum.. Ama yinede bu hatayı alıyorum.. yani EinvalidOp için değilde hertür hata için try except bloğu çalışıyor. Eğer bnm istediğim kodlar işliycekse bu arada o uyarıyı vermemesi lazım değilmi?

*Bir fonksiyon var elimde.. fonksiyonun değerini hesaplıyorum.. eğer sorun çıkarsa bu tanımsız olduğunu gösterir. Bunu yakalıyorum. Ve gerekli işlemleri yaptırıyorum ona göre.. sonuç olarak istediğim şeyi elde ediyorum. Ancak yinede uyarıyı veriyor. programın çalışmasına hiçbir engel teşkil etmiyor bu sorun.. Anlayamadım bir türlü..
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: EMathError uyarılarını değiştirmek..

Mesaj gönderen unicorn64 »

hatayı delphiyle derleyip çalıştırdığınız sırada mı alıyorsunuz, yoksa exe yi dışardan çalıştırınca da veriyormu?
derleyerek çalıştırdığınızda
try except le hata kontrolü yapsanız bile delphi hata mesajını görüntüler ve program except bloğunu işletir.
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: EMathError uyarılarını değiştirmek..

Mesaj gönderen qamyoncu »

unicorn64 yazdı:hatayı delphiyle derleyip çalıştırdığınız sırada mı alıyorsunuz, yoksa exe yi dışardan çalıştırınca da veriyormu?
derleyerek çalıştırdığınızda
try except le hata kontrolü yapsanız bile delphi hata mesajını görüntüler ve program except bloğunu işletir.
.exe yi dışardan çalıştırdığımda hata alıyorum. Bir komponent kullanıyorum. try except bloğu içinde komponenetin .pas dosyasındaki kodlarıda işletiyor program. Sonuç olarak acaba orda yaratılan bi hata ekrana geliyor olabilirmi? Ama olmamalı sonuçta bnm try except bloğum içinde yinede komponenetin kodları..

Kod: Tümünü seç

...
...
...
try
   form1.parser1.X:=x;              //komponenetin kodları
   y:=form1.parser1.value;        //komponenetin kodları
  form1.image1.canvas.moveto(0,0);
  form1.image1.canvas.lineto(x,y);
except
   begin
       ...
       ...
   end;
end;
...
...
komponent içindeki kodlarıda mı try except bloğu içine alarak kendim istediğim hatayı verdirteyim?
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
Cevapla