Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
H2077 Value assigned to degiskenim never used
#1
Question 
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;

“Do. Or do not. There is no try.”
Cevapla
#2
(23-12-2016, Saat: 16:22)masteryoda Adlı Kullanıcıdan Alıntı: 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;

Kodun tamamı bilmiyorum ama bu kodun devamı varsa bile try bloğu kullanmadığınız sürece CariGenKod'a yaptığınız ilk değer ataması gereksiz. Zaten ileride CariGenKod üzerine başka bir değer atıyorsunuz. Yok kodun tamamı bu kadarsa CariGenKod ile zaten bir şey yapmıyorsunuz demektir  Wink
Cevapla
#3
(23-12-2016, Saat: 16:50)edo Adlı Kullanıcıdan Alıntı:
(23-12-2016, Saat: 16:22)masteryoda Adlı Kullanıcıdan Alıntı: 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;

Kodun tamamı bilmiyorum ama bu kodun devamı varsa bile try bloğu kullanmadığınız sürece CariGenKod'a yaptığınız ilk değer ataması gereksiz. Zaten ileride CariGenKod üzerine başka bir değer atıyorsunuz. Yok kodun tamamı bu kadarsa CariGenKod ile zaten bir şey yapmıyorsunuz demektir  Wink
kodun devamında
 unqry_HizliCari.ParamByName('CARI_ID').value := CariGenKod;
olarak kullanıyorum uyarıyı görünce en başta :=0 ataması yaptım yine uyarı verecekmi test etmek için.

“Do. Or do not. There is no try.”
Cevapla
#4
Bende de bu olay mevcut.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#5
(23-12-2016, Saat: 17:01)masteryoda Adlı Kullanıcıdan Alıntı: kodun devamında
 unqry_HizliCari.ParamByName('CARI_ID').value := CariGenKod;
olarak kullanıyorum uyarıyı görünce en başta :=0 ataması yaptım yine uyarı verecekmi test etmek için.

Bu şekilde uyarı veriyor:
var
  CariGenKod: Integer;
begin
  CariGenKod:=0;
  CariGenKod := unqry_CariUyari.FieldByName('gen_id').AsInteger;
  unqry_CariUyari.FieldByName('CARI_ID').AsInteger := CariGenKod;
end;

Bu şekilde uyarı vermiyor:
var
  CariGenKod: Integer;
begin
  CariGenKod := unqry_CariUyari.FieldByName('gen_id').AsInteger;
  unqry_CariUyari.FieldByName('CARI_ID').AsInteger := CariGenKod;
end;

Ama sizin kodunuzda aşağıdaki gibi mutlak göz ardı edilecek bir durum varsa yine bu uyarıyı alırsınız:
var
  CariGenKod: Integer;
begin
  CariGenKod := unqry_CariUyari.FieldByName('gen_id').AsInteger;
  if False then //if 1=2 then
  begin
     unqry_CariUyari.FieldByName('CARI_ID').AsInteger := CariGenKod;
  end;
end;
Cevapla
#6
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.

“Do. Or do not. There is no try.”
Cevapla
#7
Hocam kodun tamamını paylaşabilir misin? Ayrıca hangi Delphi versiyonu ile derliyorsun?
Cevapla
#8
Question 
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;

Ide Versiyon bilgisi Embarcadero® RAD Studio 10.1 Berlin Version 24.0.22858.6822

“Do. Or do not. There is no try.”
Cevapla
#9
başka procedure yada fucntionda CariGenKod gibi kullanılmayan değişken olabilir mi ? üstüne tıkladığında nereye götürüyor bi bak muhtemelen başka yerede yazıp unutmuş olabilirsin
Cevapla
#10
(24-12-2016, Saat: 00:03)esrehmaan Adlı Kullanıcıdan Alıntı: başka procedure yada fucntionda CariGenKod gibi kullanılmayan değişken olabilir mi ? üstüne tıkladığında nereye götürüyor bi bak  muhtemelen başka yerede yazıp unutmuş olabilirsin

Sadece tek bir yerde tanımlı ve paylaştığım koda focus oluyor.

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




Konuyu Okuyanlar: 2 Ziyaretçi