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;
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