Delphi Can
hata kodu - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7)
+--- Konu Başlığı: hata kodu (/showthread.php?tid=2425)

Sayfalar: 1 2 3


hata kodu - arsl01 - 12-07-2018

merhaba ben butona bir kod yazdım tıklayınca şöyle bir hata veriyor.


access violation at adress c7087588,accessing adress 00000

kodda burada yani internetten json alırken alıyor ama visible yaptımmı bu hatayı veriyor windowsta olmuştuda mobilde hata verdi 

button kodu:
for i := 0 to Length(EnigmaAPI.filim.available_channels) - 1 do

begin

   GetLiveButton(strtoint(EnigmaAPI.filim.available_channels[i].channel_id)).Visible := False;
 end;

fonksiyonda burada

var
 I: Integer;
begin
for I := 0 to ScrollBox1.Controls.Count - 1 do
  if ScrollBox1.Controls[i] is TButton then
  begin
    if ScrollBox1.Controls[i].Tag = LiveButonTag then
    begin
      result := TButton(ScrollBox1.Controls[i]);
      Exit;
    end;
  end;
end;



Cvp: hata kodu - Fesih ARSLAN - 12-07-2018

Alim olmaya gerek yok. Smile  -------> İpucu


Cvp: hata kodu - arsl01 - 12-07-2018

sıkıntı büyük  Smile Smile  ipucu varda ben göremiyorum  Smile


Cvp: hata kodu - Fesih ARSLAN - 12-07-2018

(12-07-2018, Saat: 10:07)arsl01 Adlı Kullanıcıdan Alıntı: sıkıntı büyük  Smile Smile  ipucu varda ben göremiyorum  Smile

”İnsanın gözü ancak bildiği ve anladığı şeyi görür, ancak daha derin bilgi ve kültürün bize gösterdiği birçok şeyi, önümüzde durduğu halde yıllarca görmemiş olabiliriz.” (Wolfgang Van Goethe)

Bir ipucu daha; Fonksiyondan dönen objeyi lokal değişkene atayın ve bu değişkenin sahip olduğu değeri kontrol edin.


Cvp: hata kodu - arsl01 - 12-07-2018

GetLiveButton(strtoint(EnigmaAPI.filim.available_channels[i].channel_id)).Visible := False;

bunumu değişkene atim

hocam ne yapsam olmuyor Smile

hocam bir ipucudaha verirmisiniz


Cvp: hata kodu - Fesih ARSLAN - 12-07-2018

fonksiyonda yapacağınız değişiklik; geri dönüş değerini başta nil olarak belirlemek
var
  I: Integer;
begin
 result := nil;
 for I := 0 to ScrollBox1.Controls.Count - 1 do

Kullanırken ise;

var
  btnLive: TButton;
begin
 btnLive := GetLiveButton(strtoint(EnigmaAPI.filim.available_channels[i]
   .channel_id));
 if btnLive <> nil then
 begin
   // Bu kısımda butonu
   btnLive.Visible := False;
   // ve benzeri gibi kullanabilirsiniz
 end;
end;



hata kodu - arsl01 - 12-07-2018

teşekkürler abi öğrenme yolumda çok yardımcı oluyorsun gerçekten çok teşekkürler abi


Cvp: hata kodu - Fesih ARSLAN - 12-07-2018

(12-07-2018, Saat: 11:22)arsl01 Adlı Kullanıcıdan Alıntı: teşekkürler abi öğrenme yolumda çok yardımcı oluyorsun gerçekten çok teşekkürler abi

Amacımız da bu zaten. Fakat sizden biraz daha çaba ve efor sarf etmenizi de bekliyoruz. 
Öğrendiklerinizi, öğretmeniz dileğiyle...


hata kodu - arsl01 - 12-07-2018

abi deneme için yeni form açtım bunu yazdım 


procedure TForm3.Button1Click(Sender: TObject);
var
 btnLive: TButton;
begin
btnLive := GetLiveButton(0);
if btnLive <> nil then
begin

  btnLive.Visible := False;

end;
end;


function TForm3.GetLiveButton(LiveButonTag: integer): TButton;
var

I: Integer;
begin
result := nil;
for I := 0 to ScrollBox1.Controls.Count - 1 do
  if ScrollBox1.Controls[i] is TButton then
  begin
    if ScrollBox1.Controls[i].Tag = LiveButonTag then
    begin
      result := TButton(ScrollBox1.Controls[i]);
      Exit;
    end;
  end;
end;
end.

 forma bir adet scrollbox ve onun içine bir buton kattım tagınıda 0 yaptım  çalıştırdım visible false yapmıyor

çabam sonsuz ama kaynak bulamadığım için ve herşeyi göremediğim için ama inanın bana çok çabalıyorum kendimi proje yaparak geliştiriyorum

bu if şartına girmiyor
if btnLive <> nil then
begin

btnLive.Visible := False;

end;
ni demek sıfır demek değilmi btnlive nasıl sıfır olacakki abi


hata kodu - arsl01 - 12-07-2018

hocam halen üstünden kalkmadım uğraşıyorum herşeyi değişiyorum rastgele değil tabi ama bir türlü visible false yapmıyor hataa vermiyor o if şartını yapmıyor sürekli nill