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

Вниз

Ошибка Access Violation ...   Найти похожие ветки 

 
Mansur   (2003-10-17 04:57) [0]

Сделал UNIT, в котором определен CLASS. В классе много свободных массивов. Примерно так
qn : ard1; где ard1 = array of double;
Этот юнит используется в маленьких консольных программах по обработке данных.
При завершении работы консольной прграммы выдается ошибка Access Violation.
В чем дело, не пойму. Видимо дело в освобождении памяти, хотя, м.б. и не в этом дело.
Пробовал делать так - ввожу в юнит секцию FINALIZATION и в ней пишу
Base.Free; Здесь Base - экземпляр того самого класса. Не помогает.
Делал даже так - освобождал все эт ARD1 в циклах. Что-то вроде:
For w:=1 to nw do
for p:=1 to np do begin
finalize(Base.BaseDZ[w,p].qn);
finalize(Base.BaseDZ[w,p].qw);
... и т.д.
end;
Base.Free;
Не помогает.
В чем дело, м.б., кто знает, или хотя бы сталкивался с таким?
Пока я обхожу эту проблему так - записываю все результаты в файлы, а там пускай ломается, результат уже есть. Но это нормально, пока работаю в консоли, а когда буду переносить в нормальную программу с интерфейсом, настройками и т.п., черт его знает, во что все это вылезет?!
***
Прошу помочь!


 
Zergling ©   (2003-10-17 06:45) [1]

Немного непонял как ты освобождаешь память, но:
Если некий класс выделил для своей работы ресурсы, то по завершении работы класса выделенные ресурсы должны уничтожаться в методе класса - Destroy.


 
KSergey ©   (2003-10-17 07:22) [2]

1.Не понятно как и где создается экземпляр класса
2.Не понятно где он и как уничтожается
3.К массивам все это не имеет ровно никакого отношения: память из под динамических массивов дельфи освобождает сама, об этом заботиться не нужно. А вот об уничтожении экземпляра класса - обязательно. Если он вообще создан, конечно ;)

Приведите кратко код, где будет видно объявление класса, создание всех его экземпляров, уничтожение всех его экземпляров.

PS
На досуге обязательно почитайте книги. Любые.



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

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

Наверх




Память: 0.47 MB
Время: 0.036 c
1-89302
Abikos
2003-10-08 18:54
2003.10.27
Перерисовка ListView


4-89642
Snap
2003-08-19 13:19
2003.10.27
API(HDC, HBitmap)= картинка на экране - KAK?


3-89142
sash2
2003-10-07 14:24
2003.10.27
Как вычесть праздничные даты?


4-89640
WELLiON
2003-08-21 09:25
2003.10.27
Как минимизировать активное приложение?


1-89316
RoLeX
2003-10-16 16:04
2003.10.27
Как сделать, чтобы форма была поверх всех окон?