Главная страница
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.049 c
1-1097475322
goliath
2004-10-11 10:15
2004.10.24
Замена курсора средствами CLX


6-1092912367
Эдик
2004-08-19 14:46
2004.10.24
TClientSocket разрыв соединения


1-1097517111
jj
2004-10-11 21:51
2004.10.24
Понимают ли друг друга api ShowWindow и свойство Visible?


14-1096530538
vecna
2004-09-30 11:48
2004.10.24
Друзья vs деньги или "Курсы личностного роста"


3-1096028098
Плюс
2004-09-24 16:14
2004.10.24
Как установить BDE?