stack overflow hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

stack overflow hatası

Mesaj gönderen bobasturk »

merhaba,

bu hatanın ne olduğunu arama sonucunda kısır döngü olduğunu öğrendim. fakat hatamı çözemedim.

Kod: Tümünü seç

procedure TFrmIstatistik.BitBtn4Click(Sender: TObject);
var
  tarih1,tarih2:tdate;
  sIsim:string;
  iCount,i:integer;
    begin
      frmolygrfyaz.QRDBChart1.Series[0].Clear;
      olygrfyazibqry.Close;
      olygrfyazibqry.SQL.Clear;
      olygrfyazibqry.SQL.Add('select ISTOLYTURU, count(*) as ADET');
      olygrfyazibqry.SQL.Add('from RAPORLAR');
      olygrfyazibqry.SQL.Add('where INCTARIHI between :tarih1 and :tarih2');
      olygrfyazibqry.SQL.Add('group by ISTOLYTURU');
      olygrfyazibqry.ParamByName('tarih1').AsDate:=datetimepicker3.Date;
      olygrfyazibqry.ParamByName('tarih2').AsDate:=datetimepicker4.Date;
      olygrfyazibqry.Prepare;
      olygrfyazibqry.Open;

      olygrfyazibqry.First;
      i:=1;
   while not grfolyibqry.Eof do
   begin
     sIsim:=olygrfyazibqry.fieldbyname('ISTOLYTURU').AsString;
     iCount:=olygrfyazibqry.fieldbyname('ADET').AsInteger;
     frmolygrfyaz.QRDBChart1.Series[0].AddXY(i,iCount,sIsim);
     olygrfyazibqry.Next;
     inc(i);
   end;
     frmolygrfyaz.QuickRep1.Preview;
end;
bu kod ile form üzerine oluşturduğum qreport un üzerine detail özellikli bant ve içine qrchart bileşenini koyuyorum. bir adet seri ekliyorum başkaca bir işlem yapmıyorum.

başka bir formda query bileşenim, iki adet datetimepicker ve button um var tarih aralığını giriyorum ve kodda da görüldüğü gibi qrp yi preview olarak açıyorum. gerçi grafiği göremiyorum sonucu vermiyor ama onu geçtim qrp yi kapatıp tarih aralığını değiştirdiğimde ve button a bastığımda stack overflow hatasını alıyorum sonrası malum access violation ve cpu sayfası açılıyor ve delphiyi kapatmaya kadar gidiyor

bu şekli programıma eklemeden önce yeni bir proje ile deneme yaptım hata olmasın diye aynı yol ile yaptım form1 e datetimepicker ve button koydum ve kodu yukarıdaki gibi yazdım form2 üzerinede qr ve qrchart bileşenini koydum deneme yaptığımda sorun yok grafik geliyor kapatıp tarih aralığı değiştirdiğimde sorun yok yine çalışıyor ama hali hazırdaki programa gelince bu hatayı alıyorum.

konu hakkında bilgisi olanlardan yardım bekliyorum. teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
eğer copy paste yaptıysanız sanırım sıkıntı şurada
olygrfyazibqry.First;
i:=1;
while not grfolyibqry.Eof do
döngüde farklı bir tabloya bakıyorsunuz.
qrfolyibqry yanlışlık yazılmış sanırım.
farklı bir tablo olduğu için next işlemi ile yapılmıyor. dolayısı ile sonsuz bir döngüye giriyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

evet ustam copy-paste yapmıştım ve siz söyleyene kadar bu ayrıntıyı görmemiştim. aslında ayrıntı büyük ve önemli bir ayrıntı adamın gözüne kaçıyor ama körlük işte yaşlanıyoruz. şu an deneyemiyorum ama en kısa sürede deneyip sonucu yazacağım ibreti alem olsun diye.

teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
usta ibreti alemlik bişey yok. hepimiz zaman zaman böyle şeyler yaparız.
iyi çalışmalar.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

aslangeri ustam o küçük ayrıntıyı düzeltmeme rağmen hatayı almaya devam ediyorum. bu hatayı sadece qreport üzerine yaptığım uygulama da alıyorum. zira aynı sorgu normal formun üzerinde bulunan dbchart ilede yapıyorum ayrı bir query ile.

birinci sorguyu döndürüp sonucu qr formunu açarak gösteriyor. kapatıyorum tarih değiştirerer yeni bir sorgu başlatıp butona bastığımda stack hatasını ve akabinde access hatasını alıyorum. çıkan cpu uyarı sayfasından da bişi anlamıyorum düzelteyim veya size bilgi vereyim. delphi yi kapatmadan bu hata mesajlarında kurtulamıyorum.

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
mrtyes

Mesaj gönderen mrtyes »

hocam qreport kadar gıcık bişiy yok bendede oluyordu .formu kapatırken bende formu "close" ile kapatmayıp "hide ile saklıyorum" o zaman hata vermiyor her nekadar memory işşsede başka çözüm bulamadım.
en iyisi hiç qreport kullunmamak
saygılarımla
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
qrformunda yazılı kod varmı?
programı satır satır çalıştırarak hataya neden olan satırı (veya döngüyü) bulabilirsin sanırım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

qreport formunda yazılı hiç bir kodum yok. sadece o formun özerinde qreport+detail band+qrchart bileşeni var. qrchart bileşeninde bir tane seri var.

istatistikler diye bir formum var. ilgili istatistiği görüntü olarak bu formda gösteriyorum. birde çıktı alma ihtiyacı duyduğum için ayrı bir query ile aynı sorguyu yaptırarak query sonucu qreport üzerindeki qrcpart bileşenine gönderiyorum.

qreport formu avaliab bir form yani sonradan creat edilmiyor. acaba dedim form temizlenmiyormu falan onclose ve ondestroy una action:=cafree ve nil komutlarını yazdım durum değişmedi aynı hata.

qr den vazgeçmeyi bu günlerde baya çok istiyorum ve nasipse vazgeçeceğim ama çalışmamda tüm çıktılar qr ile tekrar düzenlemek zor geliyor.

teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
hocam eğer hala aynı hatayı alıyorsanız qr deki bileşenleri kaldırın ve tek tek yeniden koyun. her bir bileşen eklediğnizde programı çalıştırın ve test edin. bakalım hatayı hangi bileşeni koyunca verecek. Böylelikle hatayı verme sebebini tam olarak anlayabileceğimizi sanıyorum.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

aslan ustam qreport üzerinde detail band ve qrchart tan başka bileşen yok. yalnız bu sorgu başka formun üzerinde çalışıyor ve sonucu başka formda bulunan qr üzerindeki qrchat bileşenine gönderiyor. programı f5 ve f8 ile denedim sorunsuz çalışıyor. zaten buralarda bi sorunum yok. işlemleri yapıyor ve ilk sorguyu yapıp değerleri gönderiyor sonucu veriyor. üzerinde değerlerin gönderildiği qr ve dbchart olan formu kapatıp yeni kriterler ile sorgu yapıp gönderdiğimizde bu hatayı alıyorum.

sanki qr kapanırken sorgulama durmuyor biz bir daha yapıyoruz. böyle olsa komutta query yi kapatıyoruz sql yi temizliyoruz qrchart seri sini temizliyoruz. karışıklık olmasın diye bu işlemin query sini ayrı yaptım yine aynı hatayı verdi. belki qr nin cansıkıcı kötülüklerindendir.

teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Cevapla