"Bazen" gelen access violation hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
underwater
Üye
Mesajlar: 86
Kayıt: 27 May 2014 04:27

"Bazen" gelen access violation hatası

Mesaj gönderen underwater »

Arkadaşlar merhaba;

Uygulamam açılırken bazen gelen access violation hatası var.
Bu hatanın olmayan nesnelere erişimde geldiğini biliyorum.
Fakat hata sürekli gelmediği için çözüm üretemiyorum.
Defalarca düzgün açılıyor fakat arada bir access violation hatası veriyor.
Aynı hata program kapanırken yine bazen geliyor.
Delphi 7 ve SQL 2008 kullanıyorum.

Delphi 7 de bu tür durumlarda hata yakalamanın bir yolu varmı acaba?
Çok teşekkürler.
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: "Bazen" gelen access violation hatası

Mesaj gönderen xozcanx »

Merhaba,
Bunun için aklıma gelen ve tavsiye edeceğim yöntem kodlarınızı Try Except bloğu arasına almanız olur. bu şekilde hangi kod bloğunda bu hatayı verdiğini tespit etmiş olursunuz. muhtemelen çalışma anında Create ettiğiniz nesneler ya tam oluşmadan erişim sağlamya çalışmış olabilirsiniz yada çıkıştı veriyor ise zaten free ettiğiniz bir nesneyi tekrar free etmeye çalıştığınızda veriyordur.
İyi çalışmalar.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: "Bazen" gelen access violation hatası

Mesaj gönderen SimaWB »

FastMM4 veya EurekaLog kullanabilirsiniz.
Bkz.
There's no place like 127.0.0.1
boreas
Üye
Mesajlar: 120
Kayıt: 05 Tem 2007 12:39
Konum: Ankara

Re: "Bazen" gelen access violation hatası

Mesaj gönderen boreas »

Önce hangi olayda geldiğini çözmeye çalışın. Ben create olayında bununla çok karşılaşıyordum. Form oluşturulurken henüz oluşmamış nesnelere erişimde bulunuyordum. Hepsini onshow olayına taşıyarak kurtuldum.
....
underwater
Üye
Mesajlar: 86
Kayıt: 27 May 2014 04:27

Re: "Bazen" gelen access violation hatası

Mesaj gönderen underwater »

hepinize çok teşekkür ederim.
Kullanıcı avatarı
Ilgaz
Üye
Mesajlar: 16
Kayıt: 06 Eki 2016 10:34

Re: "Bazen" gelen access violation hatası

Mesaj gönderen Ilgaz »

Merhaba,

Yukarıdaki yorumlara ek bir bakış getirmek adına;

Bazı olayların (event) tetiklenme işlemi, işlem sırasını karıştırabiliyor. Bu durum işlemcinin hızı ile alakalı. Bazen alıyor olmanızın sebebi bu olabilir. İşlemleri Thread olarak yürütmek avantaj sağlayabilir, veya İlk aşamada önce formun başarılı bir şekilde oluşturulduğundan emin olduğunuz anda nesneler hali hazır bir vaziyetteyken tüm işlemlerinizi yaptırabilirsiniz.

Bazen OnCreate tetiklenmeden önce, önce Create işlemi, sonra diğer nesnelerin Create işlemi ve sonra diğer nesnelerin olayları(event)nın Create işlemi gerçekleşir.

Bununla ilgili çözümüme göz atabilirsiniz:

viewtopic.php?p=195612#p195612
Cevapla