![]() |
|
|
Регистрация | << Правила форума >> | 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
|
||||
|
||||
![]() Цитата:
Код:
For Form1.ControlCount-1 downto 0 do if Form1.Controls[i].ClassType = TSoundButton then begin ListBox1.Items.Add( SButton2.caption); TSoundButton(Form1.Controls[i]).Free; Break; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#9
|
||||
|
||||
![]() Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |