Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.105 c
1-1097060399
Comp
2004-10-06 14:59
2004.10.24
Класс и метод или Как работать с указателем на процедуру


1-1097255076
Anwy
2004-10-08 21:04
2004.10.24
Изминение размера линейного масива


4-1095880392
BKGG
2004-09-22 23:13
2004.10.24
Как узнать имя класса окна.


3-1096103454
Новенький
2004-09-25 13:10
2004.10.24
Вопрос по Rave Report


14-1096291250
pasha_golub
2004-09-27 17:20
2004.10.24
Софт для мобилы