Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];
ВнизEAcces.. Exception Найти похожие ветки
← →
l1gic © (2004-10-10 22:33) [0]Добрый вечер. Пишу по Выч. Методам программу которая по идее должна решать СЛАУ методом Гаусса. Вроде алгоритм простой, но вот незадача - Дельфа вроде на ровном месте материться начала
говорит на мое
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ы, программа пыталась обратиться к не принадеж. ей обл-ти памяти или использует недейств. указатель??? Вроде ничего такого я не косячил (ну там тип экстэндэд, и указатели впрямую не юзал)
Т. что не подскажет ли кто-либо как дальше жить (пол дня парюсь):);
← →
TUser © (2004-10-10 22:40) [1]EAccesVialation - это обращение к той области памяти, куда тебеобращаться нельзя, например к еще не созданному объекту, или к несущесвующему элемену массива и т.д.
Смущает то, что у тебя воде try except стоит - наверное в IDE проставлен флажек Stop on DELPHI exceptons.
← →
begin...end © (2004-10-10 22:44) [2]1. В StringGrid1 число столбцов меньше n + 1, или число строк меньше n + 1.
2. Аналогичная проблема с массивом A.
3. Не существует StringGrid1.
4. Не существует Form1.
5. Затмение солнца.
← →
l1gic © (2004-10-10 22:55) [3]
> Смущает то, что у тебя воде 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:57) [4]
> В качестве примера брал массив 4X4 а там значит размерность везде 20x20
Поясни.
← →
TUser © (2004-10-10 23:11) [5]6. Где-то объявлена переменная application (не в Forms, а своя какая-то), и ей пока ничего не присвоено. Или просто где-то написал Application:=nil;
Раз флаг стоит, значит при любой ошибве попадешь в except, если потом ошибка - значит она между except и end.
> А есть идеи как боротся с 5. Затмение солнца.
Да подожди несколько минут. Пивка попей - оно и пройдет.
ЗЫ. Отладчиком пройдись - скажи точно на какой строке баг.
← →
Palladin © (2004-10-10 23:13) [6]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;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c