Вниз
Скачать: CL | DM;

Почему не удаляется все объекты на форме?   Найти похожие ветки 

← →
qwert_leonid   (2007-10-23 16:08) [0]

Вот код, вернее кусочек.......

  for U2 :=0 to ComponentCount - 1 do begin
    if (Components[U2] is TEdit) then begin
    ShowMessage ("Удалить");
    TEdit(Components[U2]).Free; //На каком то этапе неудаляется... хотя если сделать TEdit(Components[U2]).Visible :=false, то абсолютно все компоненты невидны??   end;  end;

  for i :=0 to List.Count-1 do begin
   with TEdit.Create(Self) do
   begin
     Top :=15 + koordinataXX;
     Left :=10;
     Caption := "CCO"+ " " +IntToStr (i);
     Tag :=0+i;
     Parent :=ScrollBox2;
     koordinataXX :=koordinataXX + 30;
   end;
  end;

Как удалить все компоненты которые TEdit?


← →
homm ©   (2007-10-23 16:10) [1]

> [0] qwert_leonid   (23.10.07 16:08)
> TEdit(Components[U2]).Free;

Так не пробовал?
(Components[U2] as TEdit).Free;


← →
Kolan ©   (2007-10-23 16:12) [2]

TEdit(Components[U2]).Free;

За чем вообще привобить к TEdit? У TObject есть Free.

вроде все правильно&#133

Оформлять учись :(
for U2 := 0 to ComponentCount — 1 do
begin
 if Components[U2] is TEdit then
 begin
   ShowMessage ("Удалить");
   Components[U2].Free; //На каком то этапе неудаляется&#133 хотя если сделать TEdit(Components[U2]).Visible :=false, то абсолютно все компоненты невидны??  
 end;  
end;


← →
Ega23 ©   (2007-10-23 16:13) [3]

for i :=0 to List.Count-1 do begin
  with TEdit.Create(Self) do
  begin
    Top :=15 + koordinataXX;
    Left :=10;
    Caption := "CCO"+ " " +IntToStr (i);
    Tag :=0+i;
    Parent :=ScrollBox2;
    koordinataXX :=koordinataXX + 30;
  end;
 end;


Как удалить все компоненты которые TEdit?

А что тут List?


← →
temp_and_test   (2007-10-23 16:13) [4]

Вот раз удалил, два удалил, три удалил, а четыре - Н Е У Д А Л И Л. С ошибкой вылетает List Index out of bounds (30)


← →
Palladin ©   (2007-10-23 16:14) [5]

так понятное дело... смодулировать ситуацию такого подхода к удалению чего либо из какого либо списка - не судьба...

понимаешь... цикел у тебя до count, но в процессе удаления count сам по себе меняется... соответственно есть некий момент времени когда итерационная переменная выйдет за пределы этого самого реального count....

которые TEdit, да без проблемм

For i:=ComponentCount-1 Downto 0 Do
If (Components[i] is TEdit) Then Components[i].Free;


← →
Anatoly Podgoretsky ©   (2007-10-23 16:15) [6]

И наверно AV возникает?


← →
qwert_leonid   (2007-10-23 16:16) [7]

Ega23

Как удалить все компоненты которые TEdit?

А что тут List?


 List:=TStringList.Create;
 List.LoadFromFile(CurrentDir+"\map\psi"+ IntToStr (TComponent(Sender).Tag));
 List.Free;


← →
qwert_leonid   (2007-10-23 16:19) [8]

Palladin

Спасибо.
For i:=ComponentCount-1 Downto 0 Do
If (Components[i] is TEdit) Then Components[i].Free;

А то я запутался совсем



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
15-1192607772
de.
2007-10-17 11:56
2007.11.18
LIKE АБВ%


2-1192608154
Ksander
2007-10-17 12:02
2007.11.18
TreeView


8-1154587038
vladimirg88
2006-08-03 10:37
2007.11.18
Звук при загрузке формы


2-1193242294
smartleds
2007-10-24 20:11
2007.11.18
Коллеги подскажите , плз как в StringGrid число в ячейки вывести


15-1192522701
Kirillys
2007-10-16 12:18
2007.11.18
не могу войти в чат




   Наверх