![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
что нужно сделать чтобы не было этой ошибки? подскажите пожалуйста)
|
|
#2
|
|||
|
|||
|
Попытка обращения к несуществующему элементу объекта TStringList. Индекс должен быть больше или равен нулю и строго меньше количества строк. Покажи код, который вызывает исключение.
|
|
#3
|
|||
|
|||
|
уверен у вас такой цикл точно есть:
Код:
for i:=0 to StringList.count do begin //something code... end; в общем ошибка в том что нужно отнимать 1 либо начинать с еденицы. т.е. или так: Код:
for i:=0 to StringList.count -1 do begin //something code... end; либо так Код:
for i:=1 to StringList.count do begin //something code... end; |
|
#4
|
|||
|
|||
|
Доброго всем времени суток!
Пардоньте, что не начал новую тему(топик) - неча форум захламлять, когда на аналогичный предмет можно и здесь пообщаться. Проблемстон следующий: динамически (вродь как Run-Time) создаю кнопочку: Код:
Procedure CreateButtons2(DirName: string; Left_: integer);
begin
Sbutton2:= TSoundButton.Create(Form1);
with Sbutton2 do
begin
Caption := DirName;
parent:=Form1;
Height:= 25;
Width:= 100;
Top := 400;
Left := Left_;
Visible:= True;
OnClick := Form1.SButton2Click;
end;
end;Код:
procedure TForm1.ButtBackClick(Sender: TObject);
var
i: integer;
begin
ListBox1.Items.Add('ButtBackClick');
For i:=0 to Form1.ControlCount-1 do
if Form1.Controls[i].ClassType = TSoundButton then
begin
ListBox1.Items.Add( SButton2.caption);
SButton2.Free;
end;
end;![]() З. Ы. А ежели кнопок будет 2 или 3 или ... их как "убивать"? |
|
#5
|
||||
|
||||
|
По моему так правильней
Код:
for i:=0 to StringList.count -1 do begin //something code... end; Или, в крайнем случае методом тыка, компилятор всегда правильно ответит Цитата:
|
|
#6
|
||||
|
||||
|
В принципе так-же как и находите, только мне кажется, что это вообще неправильный подход делать стопку кнопок.
Код:
For i:=0 to Form1.ControlCount-1 do
if Form1.Controls[i].ClassType = TSoundButton then
begin
ListBox1.Items.Add( SButton2.caption);
TSoundButton(Form1.Controls[i]).Free;
end; |
|
#7
|
||||
|
||||
|
Ну если одна и та же кнопка то появлятся то исчезает, то я бы, использовал бы свойство visible и не мучил бы диспетчер памяти
|
|
#8
|
||||
|
||||
|
Цитата:
|