Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

List index out of bounds [D6, MSSQL]


Eduard ©   (2002-06-27 10:20:00) 

Всем добрый день !!!
Имеется следующая процедура:

procedure TTableFrame.BitBtn1Click(Sender: TObject);
var InValue: string;
begin
case Form1.TreeView1.Selected.AbsoluteIndex of
5,6,7,8,9,10,11,12,13,14,15,16:
begin
if not InputQuery(".....", ".........", InValue) then Exit;

begin
Datamodule1.ADOCommand1.Parameters[Form1.TreeView1.Selected.AbsoluteIndex].Value := InValue; Сабж !!!!!
Datamodule1.ADOCommand1.CommandText := QueryArray[Form1.TreeView1.Selected.AbsoluteIndex+30];
if not DataModule1.ADOConnection1.InTransaction then
DataModule1.ADOConnection1.BeginTrans;
Datamodule1.ADOCommand1.Execute;
DataModule1.ADOConnection1.CommitTrans;
DataModule1.ADODataSet1.Requery();
end;
end;
end;
end;


Так вот, первый раз эта процедура выполняется нормально, во второй почему-то вылетает сабж. Помогите, пожалуйста, разобраться.


Kaban   (2002-06-27 15:15:00) [1]

я высказал свое мнение, дальше может помочь только отладчик


Eduard   (2002-06-27 15:13:00) [2]

Не верю, что этого никто не знает !!!


Eduard   (2002-06-27 11:17:00) [3]

HELP !!!


Eduard   (2002-06-27 10:47:00) [4]

QueryArray[0..50] - массив строк с запросами.
С ним все нормально, ошибка возникает раньше.


Kaban   (2002-06-27 10:42:00) [5]

а QueryArray что такое


Eduard   (2002-06-27 10:36:00) [6]

Не принимает он недопустимых значений !!!! Сто раз отладчиком проверял. Как он может принимать недопустимое значение, если вылазит, допустим, ошибка "List index out of bounds (7)", а параметров в ADOCommand целых 21 !

Самое интересное, что в первый раз эта процедура отрабатывается нормально.


Фикус   (2002-06-27 10:30:00) [7]

AbsoluteIndex принимает недопустимое значение


Eduard   (2002-06-27 10:29:00) [8]

Все проверено. Параметров 21 штука, AbsoluteIndex никогда не превышает это значение. Вылазит ошибка независимо от AbsoluteIndex.


Kaban   (2002-06-27 10:27:00) [9]

во народ. Ошибку перевести трудно
у тебя индекс вылез за пределы массива
Где-то здесь:

Datamodule1.ADOCommand1.Parameters[Form1.TreeView1.Selected.AbsoluteIndex].Value

Datamodule1.ADOCommand1.CommandText := QueryArray[Form1.TreeView1.Selected.AbsoluteIndex+30];


Наверх

Титульная страница Поиск, карта сайта Написать письмо