bu hata nedir hangi satırın hata yaptığını nasıl anlarız?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

bu hata nedir hangi satırın hata yaptığını nasıl anlarız?

Mesaj gönderen forumsad »

Resim

programı adım adım çalıştırıyorum hata vermiyor en sona gelip ,Application.Run; dan sonra bu hata çıkıyor
neyin hataya neden olduğunu anlayamadım

http://img478.yukle.tc/images/9125hc_001.jpg
saygılarımla
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: bu hata nedir hangi satırın hata yaptığını nasıl anlarız

Mesaj gönderen csunguray »

Debug işaretleri içermeyen bir DCU içerisinde exception oluşuyor. Bence bol bol BerakPoint kullanarak nerede sorun olduğunu bulabilirsiniz.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

Re: bu hata nedir hangi satırın hata yaptığını nasıl anlarız

Mesaj gönderen forumsad »

teşekkürler hocam
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: bu hata nedir hangi satırın hata yaptığını nasıl anlarız

Mesaj gönderen thelvaci »

Muhtemelen kod içinde bir yerde DebugBreak API'si kullanılmış. Bu API kod içine breakpoint koyabilmenizi sağlar. Örneğin;

Kod: Tümünü seç

var
  iCounter : Integer;
begin
   for iCounter := 0 to 1000 do
   begin
      if iCounter = 100 then DebugBreak;
   end;
end;
Bu kodu çalıştırdığınız iCounter değişkeni 100 değerine eriştiğinde anında debugger ortamına dönüş yaparsınız. Ancak DebugBreak, CPU ortamına dönmenizi sağlar. Eğer kod ortamına dönmek istiyorsanız bu durumda DebugBreak API'si yerine 3 numaraları interrupt'ı kullanmanız gerekir, bu durumda kod şu hale dönüşecektir.

Kod: Tümünü seç

var
  iCounter : Integer;
begin
   for iCounter := 0 to 1000 do
   begin
      if iCounter = 100 then 
         asm
            int 3;
         end;
   end;
end;
Bu kod ile iCounter'ın değeri 100 olduğunda debugger sanki o satırda breakpoint varmış gibi davranacaktır.
Cevapla