Главная страница
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.022 c
15-1192426981
de.
2007-10-15 09:43
2007.11.18
Текущий элемент меню


2-1193435080
Wor
2007-10-27 01:44
2007.11.18
Найти сумму елементов


3-1183232597
КрЫска
2007-06-30 23:43
2007.11.18
Как сохранить записи из БД в виде отчета?


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


2-1193400497
vajo
2007-10-26 16:08
2007.11.18
Нужно внести изменения в текстовом файле на сайте.