ListView'da Access Violation

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

ListView'da Access Violation

Mesaj gönderen ulu coder »

S.A.
ListView'da seçili olan Item'ın Caption değerini fonksiyonla almaya çalışıyorum Access Violation hatası veriyor.
Sebebi ne olabilir, nereleri kontrol etmeliyim?

Kod: Tümünü seç

function TfrmMain.GetCurrentUnitName: String;
begin
  Result := lsvComputers.Selected.Caption;
end;//GetCurrentUnitName
ve

Kod: Tümünü seç

function TfrmMain.GetCurrentUnitName: String;
begin
  Result := lsvComputers.Items.Item[lsvComputers.ItemIndex].Caption;
end;//GetCurrentUnitName
Not:
Itemları şu şekilde ekliyorum bundan dolayı olabilir mi?

Kod: Tümünü seç

procedure TfrmMain.AddComputer(Name: String);
  var
    ItemNo: Integer;
begin
  with lsvComputers.Items do
  begin
    Add;
    ItemNo := Count-1;
    Item[ItemNo].Caption:=Name;
  end;//with
end;//AddComputer
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

if ItemIndex <> -1 then ekleyince çözüldü. :shock:
Ama bu fonksiyon listView'da Item'a tıklayınca çalışıyor sadece, ItemIndex = -1 olamaz ki! Hadi diyelim ki oluyor, ben bu satırı ekleyince fonksiyonun çalışmaması lazım. :o
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Sorguna procedure/function 'a ilk satırda aşağıdaki kodu eklersen çalışır...

Kod: Tümünü seç

If lsvComputers.Selected = Nil then Exit;
Resim
Resim ....Resim
Cevapla