çalıştırılan programı kapatırken hata
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 37
- Kayıt: 13 May 2005 03:36
çalıştırılan programı kapatırken hata
selam arkadaşlar
ben programımda runtime sırasında yeni radiobutonlar ve grupboxlar yaratıyorum bu sorunsuz calısıyor fakat programı kapatmaay kalktığımda hata veriyo. try exception la çözmeye çalıştım ama bu defa da saçma sapan şeyler yaparak kapatıyor programı.hata acces violation.
bana yardımcı olabilirseniz çok sevinirim şimdiden teşekkürler kolay gelsin.
ben programımda runtime sırasında yeni radiobutonlar ve grupboxlar yaratıyorum bu sorunsuz calısıyor fakat programı kapatmaay kalktığımda hata veriyo. try exception la çözmeye çalıştım ama bu defa da saçma sapan şeyler yaparak kapatıyor programı.hata acces violation.
bana yardımcı olabilirseniz çok sevinirim şimdiden teşekkürler kolay gelsin.
break point koyarak adım adım çalıştırın hata oluşan kod satırlarını tespit edin . Sorun neymıiş bakalım.
kolay gelsin...
kolay gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Access violation bellek hatası.ama hatanın devamı olması gerek diye düşünüyorum.bu hatayı aldıktan sonra tekrar uygulmanı F9 la çalıştırmayı başarabildinmi diye bir soru sorcam .
Kolay gelsin.
Kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
- mustafaozdemir
- Üye
- Mesajlar: 137
- Kayıt: 19 Haz 2004 01:56
Programı kapatırken hangi komutları kullanıyorsun,programda radiobutonları nasıl oluşturuyorsun hatanın tamamı bumu vs..bu gibi sorulara cevap alabilirsek arkadaşlarında yardım edeceğinden eminim.biraz daha açmalısın konuyu.kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
-
- Üye
- Mesajlar: 25
- Kayıt: 27 Nis 2005 02:09
eğer oluşturduğun nesneler TComponent in üstü ise ki öyle :
nereye oluşturyorsan (nil harici) program sonlanırken onları otomatik siler senin silmene gerek kalmaz. bu bilgiye göre programını gözden geçir bence kapanırken kendin siliyorsun(free) ondan oluyo(gerçi bu durumdada hata olması imkanı yok fakat silinmiş bir nesne üzerinde işlem yaptığında bahsettiğin hata ile karşılaşırsın çünkü ram de o nesneden eser kalmamıştır)
kolay gelsin
nereye oluşturyorsan (nil harici) program sonlanırken onları otomatik siler senin silmene gerek kalmaz. bu bilgiye göre programını gözden geçir bence kapanırken kendin siliyorsun(free) ondan oluyo(gerçi bu durumdada hata olması imkanı yok fakat silinmiş bir nesne üzerinde işlem yaptığında bahsettiğin hata ile karşılaşırsın çünkü ram de o nesneden eser kalmamıştır)
kolay gelsin
-
- Üye
- Mesajlar: 37
- Kayıt: 13 May 2005 03:36
Kod: Tümünü seç
sorusayisi:=qsinaval.RecordCount;
for i:=1 to sorusayisi do
begin
xgrup:=TGroupBox.Create(Self);
with xgrup do
begin
Name:='grup' + IntToStr(i);
Parent:=self;
Caption:='';
Width:=155;
Height:=32;
Left:=624;
Top:=5+i*32;
end;
for j:=1 to 5 do
begin
xradio:=TRadioButton.Create(self);
with xradio do
begin
Name:='grup' + IntToStr(i) + 'buton' +IntToStr(j);
Parent:=self;
Width:=16;
Height:=16;
Caption:='';
Top:=18+i*32;
Left:=599+j*32;
end;
xgrup.InsertControl(xradio);
end;
xgrup.Caption:=IntToStr(i);
end;
s.a.
programa bir düğme ekle.
oluşturğun bileşenleri imha et. programı öyle kapat bakalım hata verecekmi. yok etme yöntemlerini sırayla dene destroy free bide hiç yok etmeden kapat. nesneleri yok ettiğinden emin ol.
freeandnil functionu vardı. onu kullan istersen.
bu şekilde bi dene bakalım sorun düzelecekmi.
Kolay gelsin.
programa bir düğme ekle.
oluşturğun bileşenleri imha et. programı öyle kapat bakalım hata verecekmi. yok etme yöntemlerini sırayla dene destroy free bide hiç yok etmeden kapat. nesneleri yok ettiğinden emin ol.
freeandnil functionu vardı. onu kullan istersen.
bu şekilde bi dene bakalım sorun düzelecekmi.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Eğer oluşturduğun bir nesnenin yok edicisini iki kere çağırıyorsan hata alabilirsin mutemelen bu yüzden kaynaklanıyor olabilir.Yok edici bir nesne için hafızada ayrılan yeri serbest bırakmadır.destroy yönteminin ezerek ,nesennin yok edilmeden önce bunların çalıştırabilmesi amacı ile kod yazabiliriz.kendi kodunuzda tabiki hafıza serbest bırakmayla uğraşmanıza gerek yok bu delphi tarafından sizin adınıza yapılmakta.destroy basit olarak Tobject sınıfının yok edicisidir.
Nesneler yok edildiğin de özel temizlik kodu gerektiren sınıfların çoğu bu sanal yöntemi ezer.Yeni bir yok edici asala tanımlamanız gerekmesinin nedeni, nesnslerin genellikle free yöntemi çağıralarak yok edilmesi ve bu yönteminde sizin için ( ezilmiş sürümü de dahil olmak üzere ) destroy sanal yok edicisini çağırmasıdır.
Az öncede belirtiğim gibi, free, tobject sınıfının diğer tüm sınıflar tarafından devir alınan bir yöntemidir.Free yöntemi temel olarak ektin nesnenin (self ) destroy sanal yok edicisini çağırmadan önce nil olup olmadığını denetler.
Nesneler yok edildiğin de özel temizlik kodu gerektiren sınıfların çoğu bu sanal yöntemi ezer.Yeni bir yok edici asala tanımlamanız gerekmesinin nedeni, nesnslerin genellikle free yöntemi çağıralarak yok edilmesi ve bu yönteminde sizin için ( ezilmiş sürümü de dahil olmak üzere ) destroy sanal yok edicisini çağırmasıdır.
Az öncede belirtiğim gibi, free, tobject sınıfının diğer tüm sınıflar tarafından devir alınan bir yöntemidir.Free yöntemi temel olarak ektin nesnenin (self ) destroy sanal yok edicisini çağırmadan önce nil olup olmadığını denetler.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
-
- Üye
- Mesajlar: 37
- Kayıt: 13 May 2005 03:36
selam arkadaşlar
ben yaratmıs oldugum nesneleri de yok ederek kapatmayı denedim amaa hata devam ediyor. lakin önemli sayabilirmiyiz bilmiyorum ama söylemeyi unuttuğum bir şey farkettim. bu forma başka bir formdan doğru giriyoruz ve o ilk formu gizliyorum. şayet sadece yaratmış olduğum nesnelerin formunu kapatırsam sorun olmuyor ama bu ilk formu da kapatırsam sorun çıkıyor.
yani ilk formun bu form kapanana kadar gizli kalmasını bu form kapandığında kapanmasını istediğimden buna mecburum. @vedatkaba senin anlattıkların bundan olabilir mi acaba?
umarım anlatabilmişimdir ilginiz içn teşekkürler
ben yaratmıs oldugum nesneleri de yok ederek kapatmayı denedim amaa hata devam ediyor. lakin önemli sayabilirmiyiz bilmiyorum ama söylemeyi unuttuğum bir şey farkettim. bu forma başka bir formdan doğru giriyoruz ve o ilk formu gizliyorum. şayet sadece yaratmış olduğum nesnelerin formunu kapatırsam sorun olmuyor ama bu ilk formu da kapatırsam sorun çıkıyor.
yani ilk formun bu form kapanana kadar gizli kalmasını bu form kapandığında kapanmasını istediğimden buna mecburum. @vedatkaba senin anlattıkların bundan olabilir mi acaba?
umarım anlatabilmişimdir ilginiz içn teşekkürler
-
- Üye
- Mesajlar: 37
- Kayıt: 13 May 2005 03:36