![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка [D3]
Ann © (2003-11-03 14:12:00)
Мне очень нужна Ваша помощь. Разбираюсь с чужой программой, написанной на делфи3, парадоксовская база.
И вылетает следующая ошибка при расчете "Access violation at address 00583731 in module PrProgram.exe"
вылетает на следующих строках
Zc:=dim.GetData(0,i);
if ZcArtTableColor.Value<>Null then Zc^.Color:=ZcArtTableColor.Value else Zc^.Color:=0;
if ZcArtTableUp.Value<>Null then Zc^.Typ:=ZcArtTableUp.Value else Zc^.Typ:=0;
if ZcArtTableProcent.Value<> Null then Zc^.Proc:=ZcArtTableProcent.Value else Zc^.Proc:=0;
Уже полдня воюю с этой ошибкой и никак, а трассировкой не проверить, данных очень много, да и расчет жутко громоздкий. А вылетает не сразу, а к концу рассчета.
Понимаю, что дать совет на такие "абстрактные" вопросы трудно, но буду рада любым предположениям!
Romkin (2003-11-03 14:30:00) [21]
Ann © (03.11.03 14:26) [4]
>> [2] Romkin © (03.11.03 14:21) > Поубывав бы...
>кого? :(
Автора этого неповторимого кода :)))
Под ZC где-то память не выделяется или наоборот, рано освободилась. Ловить трудно, если освободилась, она может еще и не быть занятой, тогда без AV пройдет
А что такое TdinArray?
Ann (2003-11-03 14:26:00) [22]
> [2] Romkin © (03.11.03 14:21)
> Поубывав бы...
кого? :(
и еще прикол в том, что этот же расчет проходит за предыдущий месяц, а в этом ругается .. вот и понять не могу почему..
> [1] Zacho © (03.11.03 14:15)
> А что такое dim и Zc ? Приведи объявления.
type
ColorRec=record Color:integer;Proc:double;end;
_ColorRec=^ColorRec;
var
ZC:_ColorRec;
а dim
var
dim:TDinArray;
заганяет в массив данные для расчета... там расчет продукции по цветам..
Romkin (2003-11-03 14:24:00) [23]
Кстати, насчет трассировки:
http://www.gexperts.org/download.html
у них есть внешний трассировщик, ставишь в коде выдачу сообщений, вроде assert, и смотришь, что происходит.
Romkin (2003-11-03 14:21:00) [24]
Поубывав бы... Скорее всего, судя по указателям, где-то память не выделена или уже освобождена, а к ней обратиться пытаются
Zacho (2003-11-03 14:15:00) [25]
А что такое dim и Zc ? Приведи объявления.