![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Цикл не выполняется, что может быть? [D7, XP]
12 © (2010-11-24 15:48:00)// первый прогон, pnlBuffer.ComponentCount = 1, все нормально, проходит.
// второй раз, pnlBuffer.ComponentCount = 2, и сразу прыгает на последнюю строчку
var
i: Integer;
begin
mmo1.Lines.Add(' pnlBuffer.ComponentCount = ' + IntToStr(pnlBuffer.ComponentCount));
for i := pnlBuffer.ComponentCount - 1 to 0 do
begin
mmo1.Lines.Add('11-- pnlBuffer.Components[i].name = ' + pnlBuffer.Components[i].ClassName);
if pnlBuffer.Components[i] is TSubject then
begin
mmo1.Lines.Add('22---- pnlBuffer.Components[i].name = ' + pnlBuffer.Components[i].ClassName);
if TSubject(pnlBuffer.Components[i]).MainID = AId then
begin
mmo1.Lines.Add('33------ pnlBuffer.Components[i].name = ' + pnlBuffer.Components[i].ClassName);
TSubject(pnlBuffer.Components[i]).Hide;
end;
end;
end;
mmo1.Lines.Add(' Remove complete');
pnlBuffer.Refresh;
вывод в мемо
pnlBuffer.ComponentCount = 1
11-- pnlBuffer.Components[i].name = TSubject
22---- pnlBuffer.Components[i].name = TSubject
33------ pnlBuffer.Components[i].name = TSubject
Remove complete
pnlBuffer.ComponentCount = 2
Remove complete
Как такое может быть?!?
12 (2010-11-24 16:05:00) [1]да написал было с TO, нормально написал, с 0 и до СomponentCount -1.
Потом подумал, что если потом буду Free применять, то надо бы наоборот, не с 0, а с componentCount -1 считать, ну и переставил местами, а TO на DOWNTO не переправил..
:)
Anatoly Podgoretsky (2010-11-24 16:00:00) [2]> 12 (24.11.2010 15:55:03) [3]
Ну мы только подтвердили, мы наблюдатели.
Anatoly Podgoretsky (2010-11-24 15:57:00) [3]> 12 (24.11.2010 15:48:00) [0]
for i := pnlBuffer.ComponentCount - 1 to 0 do
Что за дурь ты написал, смотри в справке как пишется цикл for
И. Павел (2010-11-24 15:56:00) [4]Под конец рабочего дня у меня и не такое бывает :)
12 (2010-11-24 15:55:00) [5]я - осел!
:)
12 (2010-11-24 15:54:00) [6]блииинннннннн......
два часа минус и порождение сомнений в объективности этого мира :)
спасибо, конечно же :))
И. Павел (2010-11-24 15:51:00) [7]for i := pnlBuffer.ComponentCount - 1 downto 0 do