Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
4-1178683894
6h
2007-05-09 08:11
2007.11.18
Как определить имя пользователя запустившего приложения?


3-1183995926
rule
2007-07-09 19:45
2007.11.18
почему в compound sql statement при подулючении к MSSQL Server


8-1169483520
diman_1978
2007-01-22 19:32
2007.11.18
DSPack подключение De-Interlace фильтра


6-1174478886
Russ
2007-03-21 15:08
2007.11.18
"No command handler found"


15-1191926118
нормальный человек
2007-10-09 14:35
2007.11.18
как найти работу студенту 2 курс





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский