Uygulama Kapanış Hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Uygulama Kapanış Hatası

Mesaj gönderen serbek_tr »

Hayırlı Çalışmalar Arkadaşlar.

Arkadaşlar problemimin benzeri sorular var, ancak benim problemim bir tuhaf.
Uygulamaya penceresini kapatıyorum
" Exception EAccessViolation in module Proje.exe at 0021FA68.
Access violation at address 0061FA68 in module 'Proje.exe'. Read of address 011E81E4"

hatası alıyorum adım adım hatayı bulma yoluna gittim ancak hem close olayında herhangi bir aktivitem yok hemde adım adım kontrol işleminde hata ile karşılaştığım bir yerde yok herşey normal ana uygulama penceresi kayboluyor. yani close işlemi tamamen gerçekleşiyor ve sonra bu hatayı alıyorum. Şunuda söylemek isterim bu olay aniden birden oldu 3 saat öncesine kadar sorunsuz çalışan uygulama bu hatayı verdi bunu gerektirecek yeni bir şeyde yapmadım.
Bu gibi durumlarda hatayı bulmada nasıl yol izleyebilirim. adım adım kontrol haricinde.

Umarım izahatta kusur etmemişimdir.
Teşekkürler.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
kafkasyali
Üye
Mesajlar: 75
Kayıt: 04 Nis 2008 01:03

Re: Uygulama Kapanış Hatası

Mesaj gönderen kafkasyali »

çok ilginçtir bu hata ile ben de karşılaştım 1-2 hafta öncesine kadar.

Kod: Tümünü seç

close;
halt;
application.terminate;
gibi kodları denedim sonuç olumsuz oldu.

tools menüsündeki debugging options penceresini açıp Integrated Debugging seçeneğini kaldırdım. hata vermemeye başladı. bu sorunu böyle aştım. debug etmek gerektiğinde bu seçeneğin sanırım aktif olması gerekiyor. belli bir süre sonra hata vermemeye başladı. tam çözüm diyemem ama bi dene istersen.
visualbasic.stupid:=true;
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Uygulama Kapanış Hatası

Mesaj gönderen sabanakman »

Eğer .dll fonksiyonları kullanıyorsanız, bu fonksiyon delphide yazılmışsa ve VCL bileşenleri oluşturuyorsa, fonksiyonun bittiği noktada kullanmış olduğu bütün bileşenler yok edilmelidir. Bu yok etme fonksiyon sonu olmasa bile .exe kapatılırken muhakkak yapılmalı. Bir diğer sebep ise windows .dll fonksiyonlarına uyumlu olmayan tiplerin (String gibi) fonksiyonlarda veya parametrelerinde kullanılmış olmasıdır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Uygulama Kapanış Hatası

Mesaj gönderen serbek_tr »

Arkadaşım Alakana teşekkür ederim. Üstad diyebileceğim (sizelrden iyi olmasın) görüştüm bir programcı abim var ona danışayım dedim onunda başına gelmiş ve onun yöntemide yeni application oluşturmak ve ve eski uygulamamnın dosyalarını eklemek olmuş .Bu şekilde çözmüş ama ben aynı şekilde çözemedim, ve ilginç olan şey bu hatayı ana dpr dosyasındaki application.run ile end. satırı arasında veriyor olması ki vermemesi lazım onun dediğine göre bu delphinin bir hatası olabilirmiş mantıklı geldi banada.
Neyse benimde çözümüm bu oldu arkadaşlar kısacası madem delphi kendisi düzgün bir şekilde sonlanmıyor be sonlandırayım dedim ana dpr dosyasındaki run ve end arasında terminate i yerleştirince sorunsuz kapanmaya başladı. Teşekkürler.

Application.Run;
Application.Terminate;
end.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Uygulama Kapanış Hatası

Mesaj gönderen serbek_tr »

sorunu çözdüm demiştim ama harbiden geçici çözüm olmuş run ile end. arasına terminate koyunca sorun düzeldi ama çalışma anında düzeldi yani delphiden run edip kapatınca sorun kalktı ortdan ama direk exe dosyasını çalıştırıp kapatınca devam ediyor.

Bu arada sabanakman üstad teşekkür ederim. ilginize sorunsuz çalışan uygulama kod değişikliğiğ yapmadan sadece programın çalışmasını deniyordum gözden kaçan bir şey varmı diye yani düzgün çalışan halinden hiç bir farkı yok uygulamam olu verdi birden bire. tavsiyelerinizi de gözden geçirdim.
ayrıca kafkasyalı arkadaşın dediğinde uyguladım sonuç vermesdi
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
Z.D.
Üye
Mesajlar: 104
Kayıt: 01 Nis 2006 01:48
Konum: İstanbul

Re: Uygulama Kapanış Hatası

Mesaj gönderen Z.D. »

Kod: Tümünü seç

Application.Initialize;
....
....
Application.Run;
keşke dpr dosyanızda ... ile işaret ettiğim kod bloğunda create ettiğiniz formlarıda yazsaydınız. Ana form ve ana formdan erişilen diğer formların onclose, ondestroy eventlerinde kontrol edilebilir veya ana formdan bu formlara erişirken form assigned gibi bir kod ilede kontrol gerçekleştirebilir.

Ayrıca en güvenli yöntem şüphelendiğiniz bir kod satırına breakpoint koyup, debug edebilirsiniz.
Kullanıcı avatarı
modigant
Üye
Mesajlar: 40
Kayıt: 08 Mar 2008 01:35

Re: Uygulama Kapanış Hatası

Mesaj gönderen modigant »

Kullandığın formlar varsa arasında bir tanesi visible değeri true ise de o hatayı veriyor olabilir. Bunu da kontrol etmekte fayda var.
Sular yükselince, balıklar karıncaları yer...Sular çekilince de karıncalar balıkları...Kimse bugünkü üstünlüğüne ve gücüne güvenmemelidir....
Çünkü kimin kimi yiyeceğine.. "Suyun Akışı Karar Verir..."
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: Uygulama Kapanış Hatası

Mesaj gönderen akdatilla »

s.a.
Acces violation ifadesini türkçe karşılığı erişim engellendidir.
Bu hata benim deneyimlerime göre daha çok programın çalışma esnasında manuel olarak oluşturduğum bir bileşenin bellekten atılmaması,
bellekten atılıp nil değerinin verilmemesi, bellekten atılıp varolduğu kontrol edilmeden kullanılmaya çalışılması gibi sebeplerden ortaya çıkabiliyor.

Project-Options menüsünden Forms sayfasına girerek Auto-Create Forms bölümünü de kontrol et. Belki programa otomatik olarak oluşturmak istemediğin
form yanlışlıkla bu bölüme eklenmiş de olabilir.

Hatayı bulmak için son yaptığın değişiklikleri dikkatlice incele.
Büyük bir ihtimalle son yaptığın kodlarda bir hata yapmış olabilirsin.
Hiç akla gelmeyecek hatalar yapabiliyor insan. Bir hesaplama hatası bile programın akışını değiştirerek zincirleme hatalara sebep olabiliyor.
(X Procedure içinde hata yaparsan Y procedure hatalı sonuçlanabilir. Y prosedürü X prosedürünü doğrudan kullanmıyordur ama sancısını o çeker.)
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Uygulama Kapanış Hatası(Çözüldü)

Mesaj gönderen serbek_tr »

Arkadaşlar inanın bu sorunumu çözmek için çok uğraştım ve sonunda buldum. hata mesajında da dediği gibi erişmeye çalıştığım şey yok oda nasıl oldu anlamadım. Querylerden biri buna sebep oluyormuş oda nasıl oldu bilmiyorum query yi sildim ve yeniden oluşturdum düzeldi ama anlamadığım şey o query de bir değişiklik yapmadım ve hatta yeniden yeni query nin sql text i ile eskisi aynı eskisini sildim yenisinin adını değiştirmeden önce run edip değişiklikleri algılamasını sağlayıp sonra ismini değiştirdim ve şu an çalışıyor.

Hepinize teşekkür ederim en değerli şeyi zamanınızı ayırdınız sağolun. Ama birde keşke şu delphi daha açık konuşsa erişemiyorsam ne erişemediğimide söylese ne güzel olacak değilmi.

Hepinize tekrar teşekkür ederim
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Uygulama Kapanış Hatası

Mesaj gönderen conari »

Formları Kapatırken veya uygulamaları sonlandırırken İlkönce açık veritabanı bağlantıları kapatılmalıdır.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Uygulama Kapanış Hatası

Mesaj gönderen sabanakman »

.dfm dosyasında bazen bu tür bozulmalar olabiliyor. Arkadaşın belirttiği gibi bileşenleri formdan kaldırmak ve tekrar yerleştirmek sorunu bazen çözebiliyor. Benim de başıma gelmiştir :) .
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
gokcemt
Üye
Mesajlar: 34
Kayıt: 01 Eki 2003 04:10
Konum: eskişehir

Re: Uygulama Kapanış Hatası

Mesaj gönderen gokcemt »

Aynı sorun için söylediğiniz gibi form üzerindeki DB nesnelerini kaldırıp tekrar koydum fakat sorun devam ediyor...
west
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: Uygulama Kapanış Hatası

Mesaj gönderen abdulkadir »

Aynı sorunu yasadım durup dururken kapanısta hata vermeye basladı.
cok ugrastıktan sonra sorunu cözdüm

ben kapanıs hataları diye arama yaparken forumda bu sayfa cıktı karsıma
çözümü burayada yazmanın dogru olacagını düşündüm.

mdchil formu bu sekilde olusturuyordum

Kod: Tümünü seç

FormA:=TK_Serv.Create(nil);
bu sekilde düzenleyince düzeldi

Kod: Tümünü seç

FormA:=TK_Serv.Create(Application);
Neden eskiden hata vemiyordu sorusuna cevap bulamadım.
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Uygulama Kapanış Hatası

Mesaj gönderen sabanakman »

Eskiden hata vermeyen kodlara yaptığın herhangi bir değişikiliktir hataya sebep olan.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: Uygulama Kapanış Hatası

Mesaj gönderen abdulkadir »

projede degişiklikler sürekli oluyor ama o satırlar hiç degişmemişti.
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Cevapla