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

Вниз

Invalid pointer operation   Найти похожие ветки 

 
Rise ©   (2003-05-29 12:57) [0]

Мастера помагите пожалйста я уже незнаю что мне делать
Я привел код который выполняеться но при закрыти( внимание только при закрытии самого приложения!) приложения выдает такое
"Debugger Exception Notification
Проект Project.exe вызвал исключение класса EInvalidPointer с сообщением "Invalid pointer operation""
Если данную процедуру неоднократно выполнять(раз так 30) то
при закрытии приложение(внимание! только призакрытии) выдает
"Application Error
Exception EAccessViolation in module Project.exe at 000024A0.
Access violation at address 004024A0 in module "Project.exe". Read of address 0195CF98."

Я пробавал комментировать строки пришел к следющему, если закоментировать строку
tmpdate:=tmpdate+1;//!!!
то код работает. Он так же не выдает ошибку при закрытии приложения если
я закоментирую строку
StringGrid1.cells[0,RecCount]:="TEST";

Помагите пожалуста я уже выбился из сил найти баг...
--------------------------------------------------------------
Var j,i:Byte;
tmpDate:TDateTime;
str:string;
Acol,Arow,Account,RecCount:Word;
BaseCal:array of string;
BaseNames:array of string;
BaseColors:array of TCOlor;
begin
RecCount:=1;
StringGrid1.CleanupInstance;//очищаю таблицу
col:=Tabel.DBGrid1.DataSource.DataSet.RecordCount;
StringGrid1.RowCount:=col*5+6;//

for i:=1 to 7 do Begin
SetLength(BufTable[i],(col+1)*5+1);
for j:=1 to (col+1)*5+1 do BufTable[i,j]:=RGB(255,255,255);
end;

SetLength(BaseCal,col);
SetLength(Basenames,col);
SetLength(BaseColors,col);i:=0;
//------------Данные из базы в массивы--------------------------
Tabel.DBGrid1.DataSource.DataSet.First;
While not Tabel.DBGrid1.DataSource.DataSet.Eof DO
Begin
BaseCal[i]:=Tabel.DBGrid1.DataSource.DataSet.Fields[9].Value
BaseColors[i]:=Tabel.DBGrid1.DataSource.DataSet.Fields[8].Value;
str:=Tabel.DBGrid1.DataSource.DataSet.Fields[1].Value;
Delete(str,Pos(" ",str),Length(str));
BaseNames[i]:=str;
DBGrid1.DataSource.DataSet.Next;
Inc(i);
end;
//-------------------------------------------------
i:=1;RecCount:=1;j:=0;
tmpDate:=EncodeDate(2002+setings.ComboBox2.ItemIndex,1+setings.ComboBox1.ItemIndex,1);
While i<=ColDayInMonth[setings.ComboBox1.ItemIndex+1] do BEGIN

Repeat
StringGrid1.cells[0,RecCount]:="TEST";

RecCount:=(col+1)*j+1;
tmpdate:=tmpdate+1;//если её закоментировать то код работает

Inc(i);
Until (DayOfTheWeek(tmpDate)=1)or(i>ColDayInMonth[setings.ComboBox1.ItemIndex+1]);

Inc(j);
RecCount:=(col+1)*j+1;

END;

BaseCal:=nil;
Basenames:=nil;
BaseColors:=nil;

newdata:=true;

end;


 
Serginio   (2003-05-29 13:44) [1]

Во первых покажи код уничтожения формы (или что там у тебя уничтожается) "Debugger Exception Notification" не начто не наталкивает. Вчера ты не показав полного кода уничтожения приложения заставил людей чесать головы.


 
Anatoly Podgoretsky ©   (2003-05-29 13:58) [2]

А сегодня привел кусок побольше, что бы совсем голову сломали.
Ответ воотще то простой, неверные указатели в программе, искать тяжело, проще писать правильно, тогда искать не потребуется.


 
victorbur   (2003-05-29 14:23) [3]

Согласен с Anatoly Podgoretsky



Страницы: 1 вся ветка

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-26403
KIR
2003-05-21 17:45
2003.06.09
Можно ли программно создать резервную копию базы IB?


1-26476
Егр
2003-05-27 08:10
2003.06.09
Подскажите алгоритм зашифровки и расшифровки текстового файла


3-26380
DBDev
2003-05-20 18:02
2003.06.09
Как записать объект OLE в поле БД минуя его запись в файл???


3-26364
Альф
2003-05-19 11:50
2003.06.09
Как вставить Checkbox в DBGrid ???


3-26372
DDDeN
2003-05-20 09:17
2003.06.09
Работе с базой без BDE