Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
H2077 Value assigned to degiskenim never used
#11
(23-12-2016, Saat: 17:27)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Herhangi bir if blogu yok kodun devamında
  unqry_HizliCari.ParamByName('CARI_ID').value := CariGenKod;
kodun olduğu bloğu try except bloğuna aldığımda uyarı kalkıyor.

Merhaba,
O satırdan emin iseniz ve bu mesajın sizi rahatsız etmesini istemiyorsanız; kodu aşağıdaki gibi HINTS direktifi arasında yazabilirsiniz.
  
   {$HINTS OFF}
       unqry_HizliCari.ParamByName('CARI_ID').value := CariGenKod;
   {$HINTS ON}
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#12
(23-12-2016, Saat: 16:22)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba Projemi compile ettiğimde.
H2077 Value assigned to 'CariGenKod' never used uyarısını veriyor. normalde tanımlayıp ama kullanmadığım değişkenlerde bu uyarıyı verir bende kullanmıyorsam o değişkeni kaldırırdım. Fakat burada CariGenKod değişkenine değer atıyorum ve kullanıyorum bu uyarıyı neden veriyor?

var
CariGenKod: Integer;
begin
CariGenKod:=0;
 unqry_CariUyari.Close;
 unqry_CariUyari.SQL.Text :=
   'select gen_id(GEN_CARILER_ID,1) from RDB$DATABASE';
 unqry_CariUyari.Open;
 CariGenKod := unqry_CariUyari.FieldByName('gen_id').value;

Selam,
Form tasarımınızda query leriniz ne şekilde bilmiyorum. Muhtemelen formunuzda unqry_CariUyari adında bir query niz var.
Query içersine önceden
select gen_id(GEN_CARILER_ID,1) as CikanKod from RDB$DATABASE
şeklinde yazıp, Fied ları çekip, daha sonra kodunuzu aşağıdaki şekilde değiştirirseniz sorun kalmaz diye düşünüyorum.
var
CariGenKod: Integer;
begin
CariGenKod:=0;
 unqry_CariUyari.Close;
 unqry_CariUyari.SQL.Text :=
   'select gen_id(GEN_CARILER_ID,1) as CikanKod from RDB$DATABASE';
 unqry_CariUyari.Open;
 CariGenKod := unqry_CariUyari.FieldByName('CikanKod').AsInteger;
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#13
Cevaplar için teşekkür ederim.

“Do. Or do not. There is no try.”
Cevapla
#14
Şöyle bir örnek ile konuyu izah edeyim.

aşağıdaki örnekte sizi rahatsız edecek satır, Delphi tarafından da rahatsızlık konusu ediliyor. 
Herhangi bir şarta bağlı kalmaksızın bir değişkene yeniden değer veriyor olmanız, önceki verdiğiniz değerin olası önemi gereği uyarı üretilmesine yol açıyor.

var
a, b: Integer;
begin
 a := 10;
 a := 15;
 b := a + 10;
 ShowMessageFmt('%d', [ b ]);
end;

Sizdeki kodda da bir varsayılan değer vermişsiniz.
CariGenKod:=0;
demişsiniz bunu hiç kullanmadan bir de 
CariGenKod := unqry_CariUyari.FieldByName('gen_id').value;

demişsiniz. Idea

Delphi IDE de ilk verdiğiniz değeri kullanmadığınızı size hatırlatma gereği duyuyor. Siz ilk 0'a eşitleme satırını kaldırırsanız sonuç değişmeyecek ve uyarı kalkacaktır.

Başarılar.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#15
(24-12-2016, Saat: 22:04)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Şöyle bir örnek ile konuyu izah edeyim.

aşağıdaki örnekte sizi rahatsız edecek satır, Delphi tarafından da rahatsızlık konusu ediliyor. 
Herhangi bir şarta bağlı kalmaksızın bir değişkene yeniden değer veriyor olmanız, önceki verdiğiniz değerin olası önemi gereği uyarı üretilmesine yol açıyor.

var
 a, b: Integer;
begin
 a := 10;
 a := 15;
 b := a + 10;
 ShowMessageFmt('%d', [ b ]);
end;

Sizdeki kodda da bir varsayılan değer vermişsiniz.
[b]CariGenKod:=0;[/b]
demişsiniz bunu hiç kullanmadan bir de 
[b]CariGenKod := unqry_CariUyari.FieldByName('gen_id').value;[/b]

demişsiniz. Idea

Delphi IDE de ilk verdiğiniz değeri kullanmadığınızı size hatırlatma gereği duyuyor. Siz ilk 0'a eşitleme satırını kaldırırsanız sonuç değişmeyecek ve uyarı kalkacaktır.

Başarılar.

Hocam merhaba, CariGenKod:=0; kaldırdığımda sorun devam ediyordu kodlar aşağıdaki  şekilde idi daha sonra try except kullandım uyarıyı vermedi.

var
CariGenKod : Integer;
begin

unqry_CariUyari.Close;
unqry_CariUyari.SQL.Text :=
  'select gen_id(GEN_CARILER_ID,1) from RDB$DATABASE';
unqry_CariUyari.Open;

CariGenKod := unqry_CariUyari.FieldByName('gen_id').value;


unqry_HizliCari.Close;
unqry_HizliCari.SQL.Add('INSERT INTO CARILER ');
unqry_HizliCari.SQL.Add
  (' (CARI_ID, FIRMA_ID, CARIKOD, CARIUNVAN, IL, ILCE, TELEFON1, TELEFON2, ');
unqry_HizliCari.SQL.Add
  (' FAX, CEPTEL1, CEPTEL2, EMAIL, BORC, ALACAK, BAKIYE, KAYIT_TARIHI, YERELBORC, YERELALACAK, YERELBAKIYE, ADRES) ');
unqry_HizliCari.SQL.Add(' VALUES ');
unqry_HizliCari.SQL.Add
  ('(:CARI_ID, :FIRMA_ID, :CARIKOD, :CARIUNVAN, :IL, :ILCE, :TELEFON1, :TELEFON2,');
unqry_HizliCari.SQL.Add
  (':FAX, :CEPTEL1, :CEPTEL2, :EMAIL, :BORC, :ALACAK, :BAKIYE, :KAYIT_TARIHI, :YERELBORC, :YERELALACAK, :YERELBAKIYE, :ADRES)');

unqry_HizliCari.ParamByName('CARI_ID').value := CariGenKod;
unqry_HizliCari.ParamByName('FIRMA_ID').value := firmaid;
unqry_HizliCari.ParamByName('CARIKOD').Text := edt_CariKod.Text;;
unqry_HizliCari.ParamByName('CARIUNVAN').Text := Mem_CariUnvan.Text;
unqry_HizliCari.ParamByName('IL').Text := cmb_IL.Text;
unqry_HizliCari.ParamByName('ILCE').Text := cmb_ILCE.Text;
unqry_HizliCari.ParamByName('TELEFON1').Text := edt_Telefon1.Text;
unqry_HizliCari.ParamByName('TELEFON2').Text := '';
unqry_HizliCari.ParamByName('FAX').Text := '';
unqry_HizliCari.ParamByName('CEPTEL1').Text := edt_CepTel1.Text;
unqry_HizliCari.ParamByName('CEPTEL2').Text := '';
unqry_HizliCari.ParamByName('EMAIL').Text := '';
unqry_HizliCari.ParamByName('BORC').value := 0;
unqry_HizliCari.ParamByName('ALACAK').value := 0;
unqry_HizliCari.ParamByName('BAKIYE').value := 0;
unqry_HizliCari.ParamByName('KAYIT_TARIHI').value := Date;
unqry_HizliCari.ParamByName('YERELBORC').value := 0;
unqry_HizliCari.ParamByName('YERELALACAK').value := 0;
unqry_HizliCari.ParamByName('YERELBAKIYE').value := 0;
unqry_HizliCari.ParamByName('ADRES').Text := Mem_Adres.Text;
unqry_HizliCari.ExecSQL;
end;

“Do. Or do not. There is no try.”
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi