Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2011, 21:45   #1
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию project raised exception class estringlisterror with message list index out of bounds

что нужно сделать чтобы не было этой ошибки? подскажите пожалуйста)
obsession вне форума Ответить с цитированием
Старый 08.05.2011, 21:47   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Нужно исправить исходный код таким образом, чтоб не возникала ситуация вызывающая эту ошибку.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.05.2011, 21:52   #3
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию

а как исправить??
obsession вне форума Ответить с цитированием
Старый 08.05.2011, 21:54   #4
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Какбы это был намёк что нужно привести кусок кода, где возникла эта ошибка.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.05.2011, 22:00   #5
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию

program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

последняя строчка (end.). он мне ее не красным показывает, а слева зеленой стрелочкой.
и это происходит после запуска программы(т.е. как я понимаю ошибок в коде не обнаруживается)
obsession вне форума Ответить с цитированием
Старый 08.05.2011, 22:03   #6
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Ошибка обнаруживается, вероятно она гдето в FormCreat, показывай.

Сама по себе ошибка означает что ты обращаешся к несуществующему индексу массива, компонента ListBox и пр.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.05.2011, 22:05   #7
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
f1,f2,f3:textfile;
s1,s2,s3,s4,s5,s6:string;
c:integer;
  Form1: TForm1;
 i:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Hide;
radiogroup2.Hide;
button1.Show;
button3.Hide;
button2.Show;
radiogroup1.Show;
c:=0;
assignfile(f1,'test1.txt');
assignfile(f2,'test2.txt');
assignfile(f3,'test3.txt');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if messagedlg('Âû óâåðåíû, ÷òî õîòèòå âûáðàòü ýòó êàòåãîðèþ?',mtconfirmation,[mbyes,mbno],0)=mryes
then begin
if radiogroup1.ItemIndex=0 then
    messagedlg('Âû âûáðàëè êàòåãîðèþ ãåîãðàôèÿ.',mtinformation,[mbok],0);
if radiogroup1.ItemIndex=1 then
    messagedlg('Âû âûáðàëè êàòåãîðèþ ìóçûêà.',mtinformation,[mbok],0);
if radiogroup1.ItemIndex=2 then
    messagedlg('Âû âûáðàëè êàòåãîðèþ íàóêà è òåõíèêà.',mtinformation,[mbok],0);
end;

if radiogroup1.ItemIndex=0 then begin
    reset(f1);
    if eof(f1)=false then begin
    readln(f1,s1); readln(f1,s2); readln(f1,s3); readln(f1,s4); readln(f1,s5);
    closefile(f1);
    end; end;
if radiogroup1.ItemIndex=1 then begin
    reset(f2);
    if eof(f2)=false then begin
    readln(f2,s1); readln(f2,s2); readln(f2,s3); readln(f2,s4); readln(f2,s5);
    closefile(f2);
    end; end;
if radiogroup1.ItemIndex=2 then begin
    reset(f3);
    if eof(f3)=false then begin
    readln(f3,s1); readln(f3,s2); readln(f3,s3); readln(f3,s4); readln(f3,s5);
    closefile(f3);
    end; end;

label1.Show;
radiogroup2.Show;
button1.Hide;
button2.Show;
button3.Show;
radiogroup1.Hide;

label1.Caption:=s1;
radiogroup1.Items[0]:=s2;
radiogroup1.Items[1]:=s3;
radiogroup1.Items[2]:=s4;
radiogroup1.Items[3]:=s5;
radiogroup1.ItemIndex:=0;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if radiogroup1.ItemIndex=strtoint(s6) then c:=c+1;

if radiogroup1.ItemIndex=0 then begin
    reset(f1);
    if eof(f1)=false then begin
    readln(f1,s1); readln(f1,s2); readln(f1,s3); readln(f1,s4); readln(f1,s5);
    label1.Caption:=s1;
    radiogroup1.Items[0]:=s2;
    radiogroup1.Items[1]:=s3;
    radiogroup1.Items[2]:=s4;
    radiogroup1.Items[3]:=s5;
    radiogroup1.ItemIndex:=0;
    closefile(f1);
   end
else begin
label1.Show;
radiogroup2.Hide;
button1.Hide;
button2.Show;
button3.Hide;
radiogroup1.Hide; end;    end;
if radiogroup1.ItemIndex=1 then begin
    reset(f2);
    if eof(f2)=false then begin
    readln(f2,s1); readln(f2,s2); readln(f2,s3); readln(f2,s4); readln(f2,s5);
    label1.Caption:=s1;
    radiogroup1.Items[0]:=s2;
    radiogroup1.Items[1]:=s3;
    radiogroup1.Items[2]:=s4;
    radiogroup1.Items[3]:=s5;
    radiogroup1.ItemIndex:=0;
    closefile(f2);
    end
else begin
label1.Show;
radiogroup2.Hide;
button1.Hide;
button2.Show;
button3.Hide;
radiogroup1.Hide; end;   end;
if radiogroup1.ItemIndex=2 then begin
    reset(f3);
    if eof(f3)=false then begin
    readln(f3,s1); readln(f3,s2); readln(f3,s3); readln(f3,s4); readln(f3,s5);
    label1.Caption:=s1;
    radiogroup1.Items[0]:=s2;
    radiogroup1.Items[1]:=s3;
    radiogroup1.Items[2]:=s4;
    radiogroup1.Items[3]:=s5;
    radiogroup1.ItemIndex:=0;
    closefile(f3);
    end
else begin
label1.Show;
radiogroup2.Hide;
button1.Hide;
button2.Show;
button3.Hide;
radiogroup1.Hide; end;    end;

label1.Caption:=inttostr(c);
end;

end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.05.2011 в 22:28.
obsession вне форума Ответить с цитированием
Старый 08.05.2011, 22:13   #8
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Оформи код в теги, но это наврятли поможет ибо нереально понять что тут.

Ставь брекпоинт на строке label1.Hide; и когда при запуске он остановится на ней то жми F8 и смотри, на какойто строке у тебя вылетит ошибка. Вот и скажешь на какой имено.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.05.2011, 22:25   #9
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию

эммм... а можно по подробней как нибудь
и что такое бекпоинт? (может я знаю, но мало ли кто как обзовет какое слово... )
тест.rar
obsession вне форума Ответить с цитированием
Старый 08.05.2011, 22:31   #10
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Найди строку label1.Hide; и ткни рядом с ней (на рисунке там точка стоит). Появится красная точка. Брекпоинт - BreackPoint - точка остановки - один из инструментом отладки любого ЯП.

Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
EStringListError with message 'List index out of bounds (644)' после удаления дубликатов dzds Помощь студентам 2 25.03.2011 09:39
ошибка raized exception class EListError with message 'List index out of bounds(1)'.Process stopped SGRaptor Софт 0 22.05.2010 19:12
Project Project1.exe raised exception class EnvalidOP Rock'n'rolla Безопасность, Шифрование 16 20.01.2010 18:39
"Project Project1.exe raised class EConvertError with message'''is not a valid floating point value'." Doz1metr Помощь студентам 9 24.06.2009 19:06
raised exception class EIdSocketError with message' Socket Error # 10022 Invalid argument eldar Работа с сетью в Delphi 16 08.08.2008 23:49