stack owerflow hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

stack owerflow hatası

Mesaj gönderen berken »

merhaba arkadaslar
bir formda kullandığım adotable ve adoquery nesnelerini formu kapatırken
Stack Overflow hatası veriyor..
onclose event ında kullandığım kodlar

Kod: Tümünü seç

ADOQuery1.Close;
ADOQuery2.Close;
ADOTable1.Close;
uyeler.Close;
uyeler kapattığım formun adı oluyor bu arada ..

bir de size göre cahilce gelebilece bir şey daha soracam

Kod: Tümünü seç

ADOQuery1.Refresh
ile

Kod: Tümünü seç

ADOQuery1.Post


arasındaki farklar nedir..
Teşşekür ediyor iyi çalışmalar diliyorum
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

OnClose da neden bir daha Close yapmaya çalışıyorsun. Zaten Close yaparken oraya düşüyor. Hatanın sebebi muhtemelen bu :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

aa

Mesaj gönderen berken »

Sayın hocam işlemi tam olarak onclose ta yapmıyorum
bir btnclick te yapıyorum.. butona da click leyince yine aynı seyi yapıyor..
form un onclose eventında da kullandığım tablolar kapansın diye btnclick i cağırıyorum.
düşündüm belki kapalı olan bir table veya query i kapatmaya calışırken, kapalı olması durumunda kısır döngüye girebilir onun icin soyle bir yola basvurdum

Kod: Tümünü seç

if ADOQuery1.Active then ADOQuery1.Close;
if ADOQuery2.Active then ADOQuery2.Close;
if ADOTable1.Active then ADOTable1.close;
ama yine aynı hatayı veriyor..
ikinci soruma da cevap verebilir misiniz..
saygılar, iyi çalışmalar...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

O halde hangisinde verdiğini breakpoint koyup adım adım takip edersen belki daha net bir tespit olabilir :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

ilginize teşekkur ederim hocam..
adım adım yapıyorum end; gelince hata veriyor.. ben de form un onclose eventında yaptığım cağırma işlemini iptal ettim. artık hata vermiyor..
ama merak ettiğim formu kapatınca onda kullandığım table ve query ler kapanır mı.. bir de ilk mesajdaki ikinci sorumu tekrar edeyim..
post ve refresh arasındaki fark nedir..
saygılarımla
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Post append yada edit modunu çağırdıktan sonra tablo üzerinde yaptıysan değişiklikleri database yazar.
Refresh ise databaseden bilgilerei son haliyle datasete çeker.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

onclose

Kod: Tümünü seç

action := caFree
denermisin.
type
Tform1 = class(Tform)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
1.sorun için
buttonun clikc olayına sadece

Kod: Tümünü seç

 close 
yaz.
formun onclose eventinda da tabloları close yap.
problemi kendin söylemişsin zaten.
berken yazdı: btnclick te yapıyorum.. butona da click leyince yine aynı seyi yapıyor..
form un onclose eventında da kullandığım tablolar kapansın diye btnclick i cağırıyorum
button clickte close komutu ile onclose eventini çağırıyorsun.
onclose dada buttonclick i çağırıyorsun. o onu o onu çağırıp duruyorlar. stac da yeter kardeşim diyor.

2.soru
post tabloda yaptığın değişiklikleri kayıt eder.
refresh ise kayıtlarda yapılmış değişiklikleri ekrana getiri.
kabaca bu şekilde tanımlayabiliriz.

kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
mrtyes

Mesaj gönderen mrtyes »

şimdi birinci sorunun cevabi yazılmış
action := caFree

ama 2. sorunun cevabı ekisik şöyleki
post :kayıt
refresh :kayıtları güncelle değişiklikleri ortaya çıkar
ancak
ado da refresh çalışmıyor.buna dikkat et
birde close olayında tekrar kapatmak çok mantıklı görünmedi bana
ii çlşmlr
Cevapla