panellerin yok edilmesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 52
- Kayıt: 03 May 2005 06:16
panellerin yok edilmesi
Merhabalar
Ben formadaki tüm panelleri yok etmek istedim ama başaramadım.
böyle bir kod yazdım.
for n:=1 to componentcount-1 do
begin
if components[n] is tpanel then
begin
tpanel(components[n]).destroy;
end;
end;
panellerin 3, 5 tanesini yok etti ama daha sonra hata mesajı verdi.
Bu neden kaynaklanıyor olabilir.Teşekkürler......
Ben formadaki tüm panelleri yok etmek istedim ama başaramadım.
böyle bir kod yazdım.
for n:=1 to componentcount-1 do
begin
if components[n] is tpanel then
begin
tpanel(components[n]).destroy;
end;
end;
panellerin 3, 5 tanesini yok etti ama daha sonra hata mesajı verdi.
Bu neden kaynaklanıyor olabilir.Teşekkürler......
Destroy yerine Free kullan.
Kolay Gelsin...
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Birde Componentler silindiği Component indexi değişecektir bu sebepten ListBound hatası verecektir bunu iki şekilde aşabiliriz Ya döngüyü(Tersten) Count tan sıfıra kadar döndürerek yada While döngüsü kullanarak.
Kolay Gelsin...
Kod: Tümünü seç
for n := Pred(ComponentCount) downto 0 do
begin
if (components[n] is tpanel) then
begin
ShowMessage(intToStr(n));
TPanel(Components[n]).Free;
end;
end;
Kod: Tümünü seç
var
I: Integer;
begin
I := 0;
while (I < ComponentCount) do
if (Components[I] is TPanel) then
Components[I].Free
else
Inc(I);
end;
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
daha önceden ben de böyle bişey denemiştim. kodu denemedim ama şu şekilde sanırım olmalı.
Kod: Tümünü seç
for n:=1 to componentcount-1 do
begin
if components[n] is tpanel then
begin
(components[n] as tpanel).free; //
end;
end;
-
- Üye
- Mesajlar: 52
- Kayıt: 03 May 2005 06:16