![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EAcces.. Exception [D7, WinXP]
l1gic © (2004-10-10 22:33:00)Добрый вечер. Пишу по Выч. Методам программу которая по идее должна решать СЛАУ методом Гаусса. Вроде алгоритм простой, но вот незадача - Дельфа вроде на ровном месте материться начала
говорит на мое
Procedure InputMatrix;
var i,j:integer;
Begin
for i:=0 to n do
for j:=0 to n do
Begin
try
A[i,j]:=strtofloat(Form1.StringGrid1.Cells[i,j]);
except application.MessageBox('ВЫРЕЗАННО ЦЕНЗУРОЙ ','ВЫРЕЗАННО ЦЕНЗУРОЙ!',MB_OK+MB_ICONWARNING)
end;
end;
end;
Что у меня какой-то там EAccesVialation т. е. как я ничего понял из Helpы, программа пыталась обратиться к не принадеж. ей обл-ти памяти или использует недейств. указатель??? Вроде ничего такого я не косячил (ну там тип экстэндэд, и указатели впрямую не юзал)
Т. что не подскажет ли кто-либо как дальше жить (пол дня парюсь):);
Palladin (2004-10-10 23:13:00) [1]Procedure InputMatrix;
var i,j:integer;
Begin
for i:=0 to n do
for j:=0 to n do
Begin
try
A[i,j]:=strtofloat(Form1.StringGrid1.Cells[i,j]);
except application.MessageBox('ВЫРЕЗАННО ЦЕНЗУРОЙ ','ВЫРЕЗАННО ЦЕНЗУРОЙ прогеры ни"вырезанно цензурой" непонимающие между for i:=1 to n и for i:=0 to rowcount-1 !',MB_OK+MB_ICONWARNING)
end;
end;
end;
TUser (2004-10-10 23:11:00) [2]6. Где-то объявлена переменная application (не в Forms, а своя какая-то), и ей пока ничего не присвоено. Или просто где-то написал Application:=nil;
Раз флаг стоит, значит при любой ошибве попадешь в except, если потом ошибка - значит она между except и end.
> А есть идеи как боротся с 5. Затмение солнца.
Да подожди несколько минут. Пивка попей - оно и пройдет.
ЗЫ. Отладчиком пройдись - скажи точно на какой строке баг.
begin...end (2004-10-10 22:57:00) [3]
> В качестве примера брал массив 4X4 а там значит размерность везде 20x20
Поясни.
l1gic (2004-10-10 22:55:00) [4]
> Смущает то, что у тебя воде try except стоит - наверное
> в IDE проставлен флажек Stop on DELPHI exceptons.
Как раз не стоит
> 1. В StringGrid1 число столбцов меньше n + 1, или число
> строк меньше n + 1.
> 2. Аналогичная проблема с массивом A.
> 3. Не существует StringGrid1.
> 4. Не существует Form1.
1,2. В качестве примера брал массив 4X4 а там значит размерность везде 20x20
3,4 Существует, Существует
А есть идеи как боротся с 5. Затмение солнца.
begin...end (2004-10-10 22:44:00) [5]1. В StringGrid1 число столбцов меньше n + 1, или число строк меньше n + 1.
2. Аналогичная проблема с массивом A.
3. Не существует StringGrid1.
4. Не существует Form1.
5. Затмение солнца.
TUser (2004-10-10 22:40:00) [6]EAccesVialation - это обращение к той области памяти, куда тебеобращаться нельзя, например к еще не созданному объекту, или к несущесвующему элемену массива и т.д.
Смущает то, что у тебя воде try except стоит - наверное в IDE проставлен флажек Stop on DELPHI exceptons.