Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.18;
Скачать: 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 вся ветка

Текущий архив: 2007.11.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1192432862
Ломброзо
2007-10-15 11:21
2007.11.18
VisioModeler


8-1169464574
Vovan #2
2007-01-22 14:16
2007.11.18
WaveOutWrite - сколько пихать?


15-1192126469
cber
2007-10-11 22:14
2007.11.18
Помогите решить задачу по тер-веру


2-1193485128
Zong_Zong
2007-10-27 15:38
2007.11.18
Граница цвета.


15-1192555640
Galinka
2007-10-16 21:27
2007.11.18
CORBA: книги