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

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

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.


Наверх

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