Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
18 / 18 / 10
Регистрация: 04.07.2013
Сообщений: 260
Записей в блоге: 1
1

Ошибка: List of index out of bound

30.07.2014, 21:16. Показов 1683. Ответов 11
Метки нет (Все метки)

Вообще не пойму, делаю такой цикл, и постоянно ошибка List of index out of bound.
Смотря сколько раз цикл выполняется List of index out of bound(1), List of index out of bound(2), List of index out of bound(3) и так далее..
Delphi
1
2
3
4
5
6
        while integerl <= spinedit do
        begin
              Mythread := tmythread.Create(false);
              sleep(670);
              inc(integerl);
        end;
integerl : integer = 0;
spinedit : integer = любое положительное число(до 100).

Добавлено через 6 минут
вот весь код

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm1.Button4Click(Sender: TObject);
var
integerl, spinedit : integer;
begin
  spinedit := spinedit1.value;
  integerl := 0;
  log(inttostr(memo2.Lines.count) + ' ' + inttostr(spinedit1.Value));
  if(Memo2.Lines.Count >= spinedit1.Value) then
  begin
    if(Memo1.Lines.Count < Memo2.Lines.Count ) then log('ERROR')
    else
    begin
        proxy_list.Add(memo1.Lines.GetText);
        login_list.Add(memo2.Lines.GetText);
        while integerl <= spinedit do
        begin
              Mythread := tmythread.Create(false);
              sleep(670);
              inc(integerl);
        end;
    end;
  end else log('ERROR');
end;
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2014, 21:16
Ответы с готовыми решениями:

Ошибка List index out of bound (-1)
Выскакивает ошибка при нажатии этой кнопки: procedure TForm1.FiltrButton1Click(Sender: TObject);...

Сообщение List index out of bound(0)!
В общем смысл процедуры: при нажатии на соответсвующую клавишу должно присходить считывание из...

Ошибка List index out of bounds(2)
В чем ошибка? void __fastcall TForm2::Button2Click(TObject *Sender) { if (flag) { ...

Ошибка: list index out of bounds(0)
всем добрый вечер, программа компилируется успешно, но по нажатию кнопки выдает ошибку Проект...

11
5087 / 3967 / 1309
Регистрация: 14.04.2014
Сообщений: 18,260
Записей в блоге: 18
30.07.2014, 21:38 2
Цитата Сообщение от TUberwer Посмотреть сообщение
Mythread := tmythread.Create(false);
* * * * * * * sleep(670);
* * * * * * * inc(integerl);
этот кусок ничего не делает
оставь просто
inc(integerl)
посмотри что получится
0
18 / 18 / 10
Регистрация: 04.07.2013
Сообщений: 260
Записей в блоге: 1
30.07.2014, 21:42  [ТС] 3
а как же создание потока?
0
5087 / 3967 / 1309
Регистрация: 14.04.2014
Сообщений: 18,260
Записей в блоге: 18
30.07.2014, 22:04 4
поток создается приостановленным
его никто не запускает

кода потока вы не привели...
если есть конструктор в ём - там и ошибка
0
18 / 18 / 10
Регистрация: 04.07.2013
Сообщений: 260
Записей в блоге: 1
30.07.2014, 22:23  [ТС] 5
Delphi
1
2
3
4
5
6
7
TMyThread = class(TThread)
    private
    msg : string;
  protected
    procedure Execute; override;
    procedure AddLog;
  end;
Delphi
1
2
3
var
  Form1: TForm1;
   MyThread: TMyThread;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TMyThread.Execute;
var
moj_akkaunt : integer;
stroka_logina, stroka_proxy : string;
begin
  moj_akkaunt := aktivnij_akkaunt;
  inc(aktivnij_akkaunt);
  stroka_logina := login_list[moj_akkaunt];
  stroka_proxy := proxy_list[moj_akkaunt];
 
  msg := stroka_logina + ' ' + stroka_proxy;
   Synchronize(AddLog);
end;
 
procedure TMyThread.AddLog;
begin
  if(length(msg) <> 0) then
  begin
    log(msg);
    msg := '';
  end;
end;
0
Пишу на Delphi...иногда
1419 / 1276 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
30.07.2014, 22:26 6
Цитата Сообщение от TUberwer Посмотреть сообщение
постоянно ошибка List of index out of bound.
по F7 на какой строке происходит?
0
18 / 18 / 10
Регистрация: 04.07.2013
Сообщений: 260
Записей в блоге: 1
30.07.2014, 22:39  [ТС] 7
хм.. как-то странно, но появляется на sleep(670);
0
Пишу на Delphi...иногда
1419 / 1276 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
30.07.2014, 22:41 8
что делает log(msg)? какой код
0
18 / 18 / 10
Регистрация: 04.07.2013
Сообщений: 260
Записей в блоге: 1
30.07.2014, 22:42  [ТС] 9
cуть такова: я выставляю в спинедит1 количество создаваемых потоков, программа создает заданное количество потоков.

Добавлено через 1 минуту
выводит в мемо текст со временем
Delphi
1
2
3
4
5
6
7
8
function log(msg:string):boolean;
var
today : TDateTime;
begin
today := Time;
form1.Memo3.Lines.Add('[' + TimeToStr(today) + '] ' + msg);
 
end;
0
Пишу на Delphi...иногда
1419 / 1276 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
30.07.2014, 22:44 10
Лучший ответ Сообщение было отмечено TUberwer как решение

Решение

ошибка, скорее всего, в 8 или 9 строке метода Execute
1
18 / 18 / 10
Регистрация: 04.07.2013
Сообщений: 260
Записей в блоге: 1
30.07.2014, 22:55  [ТС] 11
я даже попробовал убрать из tmythread.execute

synchronize(addlog), не помогло. наверное нужно проект пересоздавать, просто я его запускал через 3 разных среды, и после этого даже текст на форме почему-то пропал(поля caption в groupbox просто как пробелы стали)

Добавлено через 2 минуты
ага, вы правы, убрал те строки, и все работает. только почему там может быть ошибка? я просто могу брать напрямую текст с memo, но читал, что с потоков второстепенных лучше так не делать. вот и заношу в глобальные переменные типа стринглист..

Добавлено через 8 минут
все, я понял в чем причина. Просто на самом деле в этих двух стринглистах была только одна строчка. Нужно добавлять вот так текст в стринглист: proxy_list.Text := memo1.Text; login_list.text := memo2.Text;
0
Пишу на Delphi...иногда
1419 / 1276 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
30.07.2014, 22:56 12
Лучший ответ Сообщение было отмечено TUberwer как решение

Решение

Цитата Сообщение от TUberwer Посмотреть сообщение
только почему там может быть ошибка?
на момент работы потока в списках login_list и stroka_proxy строк меньше, чем значение moj_akkaunt (скорее всего они пустые)
1
30.07.2014, 22:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2014, 22:56

Ошибка: List index out of bounds (15)
Здравствуйте. Помогите решить проблему, при запуске программы выдает: list index out of bounds (15)...

Ошибка: list index out of bounds 12
Здраствуйте, в общем вот такая вот проблемка...

Ошибка: List index out of bounds
Всем добрый вечер!Есть Программа которая по нажатию одной клавиши находит и записывает в listbox...

Ошибка: List index out of bounds(1)
unit Unit7; interface uses Windows, Messages, Graphics, Controls, Forms, Dialogs,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru