Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
TabControl delete adres hatası
#1
Merhaba, 


TabControl seçili olanı silmek istediğimde adres hatası alıyorum. 
Fakat Showmessage ile index numarasını kontrol ettiğimde sorunsuz olarak alabiliyorum. Adres hatası neden alıyor olabilirim?


procedure TWebBrowserForm.Button2Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to TabControlBrowser.TabCount - 1 do
  begin
    if TabControlBrowser.Tabs[i].IsSelected = True then
    begin
      // showmessage(inttostr(TabControlBrowser.Tabs[I].Index));
      TabControlBrowser.Delete(TabControlBrowser.Tabs[I].Index);
    end;
  end;
end;
Cevapla
#2
Merhaba,
Seçili olan tab'ı silmek için döngü işlemine ihtiyacınız yok.
Doğrudan TabControl'ün ActiveTab özelliğini kullanabilirsiniz.
TabControl1.Delete(TabControl1.ActiveTab.Index);
Cevapla
#3
(06-03-2020, Saat: 09:39)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
Seçili olan tab'ı silmek için döngü işlemine ihtiyacınız yok.
Doğrudan TabControl'ün ActiveTab özelliğini kullanabilirsiniz.
TabControl1.Delete(TabControl1.ActiveTab.Index);

Teşekkür ederim, TabItemden aradan silince sorun yok. En son TabItem silince yine adres hatası alıyorum. 
TabControl kaldırdım tekrar eklemim durum aynı adres hatası vermeye devam ediyor.
Cevapla
#4
(05-03-2020, Saat: 22:00)Kerembacioglu Adlı Kullanıcıdan Alıntı: Merhaba, 


TabControl seçili olanı silmek istediğimde adres hatası alıyorum. 
Fakat Showmessage ile index numarasını kontrol ettiğimde sorunsuz olarak alabiliyorum. Adres hatası neden alıyor olabilirim?


procedure TWebBrowserForm.Button2Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to TabControlBrowser.TabCount - 1 do
  begin
    if TabControlBrowser.Tabs[i].IsSelected = True then
    begin
      // showmessage(inttostr(TabControlBrowser.Tabs[I].Index));
      TabControlBrowser.Delete(TabControlBrowser.Tabs[I].Index);
    end;
  end;
end;

Döngüyü aşağıdaki gibi terse çevir.. 

for I := TabControlBrowser.TabCount -1 downto 0 do
  begin
   if TabControlBrowser.Tabs[i].IsSelected = True then
   begin
     // showmessage(inttostr(TabControlBrowser.Tabs[I].Index));
     TabControlBrowser.Delete(TabControlBrowser.Tabs[I].Index);
   end;
 end;
Cevapla
#5
@Kerembacioglu bey, sanırım konuyu çözmüş, bundan bizim haberimiz yok (son yorumundan sonra 3 gündür formu ziyaret etmemiş, yada bu konu kendisi için çok da acil değil  Sad ).
Cevapla
#6
Sayın @"Fesih ARSLAN" hocam aslında cevap yazmayacaktım ama belki başka birine lazım olur diye yazmayı düşündüm. Alıp kaçan, bulup paylaşmayan insan çok.. Ben bildiğimi paylaşmanın vicdan rahatlığını yaşıyorum Smile
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Google play Uygulama yükleme hatası [Çözüldü] codder71 3 306 23-02-2024, Saat: 22:42
Son Yorum: codder71
  Delphi 12 Boş Form Derleme Hatası [Çözüldü] codder71 4 471 21-02-2024, Saat: 22:09
Son Yorum: codder71
  (ÇÖZÜLDÜ - Kısmen) D11 Mobile SDK gönderim hatası shooterman 13 1.189 06-12-2023, Saat: 23:56
Son Yorum: 3ddark
  Open failed: ENOENT (no such file or directory) hatası kajmerantime 0 238 01-12-2023, Saat: 10:07
Son Yorum: kajmerantime
  Rad Studio 11.3 RequestPermissions Hatası [Çözüldü] Mesut 0 475 18-07-2023, Saat: 14:30
Son Yorum: Mesut



Konuyu Okuyanlar: 1 Ziyaretçi