Delphi Can

Orjinalini görmek için tıklayınız: H2077 Value assigned to degiskenim never used
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
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;
(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
(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.
Bende de bu olay mevcut.
(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;
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.
Hocam kodun tamamını paylaşabilir misin? Ayrıca hangi Delphi versiyonu ile derliyorsun?
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
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
(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.
Sayfalar: 1 2