While Do Döngüsü Sonsuz döngüye giriyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

While Do Döngüsü Sonsuz döngüye giriyor

Mesaj gönderen tayipk »

merhaba arkadaşlar aşağıdaki gibi bir kodum var her zaman aynı yöntemle yapmama rağmen bu sefer kod sonsuz döngüye giriyor. queryimde tek kayıt olsa bile sonsuz döngüye giriyor size göre hatam nerdedir arkadaşlar.

Kod: Tümünü seç

while  not dm1.QSatistemp.eof  do
begin
  kdv:=kdv+dm1.QSatistempKDV_Tutar.AsFloat;
  ShowMessage(FloatToStr(kdv));
  toplam:=toplam+dm1.QSatistempGeneltoplam.AsFloat;
  Next;
end;
if FFaturabilgi=nil then
begin
.....
.....
end;
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: While Do Döngüsü Sonsuz döngüye giriyor

Mesaj gönderen mrmarman »

tayipk yazdı:merhaba arkadaşlar aşağıdaki gibi bir kodum var her zaman aynı yöntemle yapmama rağmen bu sefer kod sonsuz döngüye giriyor. queryimde tek kayıt olsa bile sonsuz döngüye giriyor size göre hatam nerdedir arkadaşlar.

Kod: Tümünü seç

while  not dm1.QSatistemp.eof  do
begin
  kdv:=kdv+dm1.QSatistempKDV_Tutar.AsFloat;
  ShowMessage(FloatToStr(kdv));
  toplam:=toplam+dm1.QSatistempGeneltoplam.AsFloat;
  Next;
end;
if FFaturabilgi=nil then
begin
.....
.....
end;
Eğer BEGIN / END blok hatası yapmışsan WITH 'ler karışmış olabilir.

NEXT yerine dm1.QSatistemp.NEXT deyip denersen sorun kalmayacaktır. Tabi bağlantılı başka bir durum; dm1.QSatistemp'in EVENT'lerinde AfterScroll vb. bir şeyler yazmışsan onu da kontrol etmelisin.
Resim
Resim ....Resim
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: While Do Döngüsü Sonsuz döngüye giriyor

Mesaj gönderen tayipk »

hocam dediğiniz şekilde sorunumu çözmüş bulunmaktayım.

Kod: Tümünü seç

dm1.qsatistemp.next;
çok sağolun.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Cevapla