Вниз
Скачать: CL | DM;

Помогите. Ошибка при работе со списком.   Найти похожие ветки 

← →
Valentino ©   (2003-06-08 05:30) [0]

Здравствуйте!

Делаю примерно следующее:

TForm1.Button1Click();
...
List1.TList.Create;
в цикле
New(PQ); //
PQ^.Otvets:=TStringList.Create;
...
List1.Add(PQ);
конец цикла
PQ:=List1.Items[1];
Form2.Show;


На Form2 работаю со списком, поочередно загружая в PQ элементы, далее:

TForm2.FormClose();
List1.Free;
PQ.Otvets.Free;

Если один - два раза это все проделываю, все нормально,
но если форму 2 несколько раз открываю-работаю со списком-закрываю,
то по нажатию на Button1 выскакивает Access Violation.
Иногда даже Out of Memory. Почему?


← →
Anatoly Podgoretsky ©   (2003-06-08 08:44) [1]

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


← →
Sha ©   (2003-06-08 09:06) [2]

Убивать сначала надо тех, что помоложе :)


← →
Palladin ©   (2003-06-08 12:31) [3]

так, для обещего понимания проблемы
TList понятия не имеет что он хранит и потому ответственность на освобождени того что он хранит ложится на программиста...


← →
Всеволод Соловьёв ©   (2003-06-08 16:12) [4]

написано
List1.TList.Create;
Не правильнее ли написать List1:=TList.Create?


← →
Всеволод Соловьёв ©   (2003-06-08 16:25) [5]

Если во втророй форме не прописано uses form1;, тогда надо прописать. Только не спрашивай, где это прописать :)


← →
Valentino ©   (2003-06-09 00:07) [6]

Всеволод, List1:=TList.Create конечно, я просто быстро ручками этот вопрос набирал и чето там напутал, тем более, как бы оно в Делфях-то работало, если там было так.

Palladin, так если TList понятия не имеет, что он хранит, что делает тогда Free?



← →
Palladin ©   (2003-06-09 00:15) [7]

Тоже что и free у остальных! Себя освобождает! что же еще?
посмотрел бы исходники и увидел что он осовбождает!
ты что считаешь что TList знает что содержится по указаным адресам? странный у тебя ход мыслей... дали бы тебе почтовый адрес, просто почтовый адрес без описания что по этому адресу, ты бы даже понятия не имел как обращатся к тому что по этому адресу находится!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
3-84015
anton_cor
2003-05-30 22:28
2003.06.26
Сделать из массива DataSource


4-84829
Akvilon
2003-04-24 18:34
2003.06.26
Возвращаясь к вопросу об уникальности окон


7-84784
xmapa
2003-04-17 16:34
2003.06.26
Проверка готовности принтера


1-84270
Project111
2003-06-14 11:21
2003.06.26
Version info


3-83911
Igor Mish
2003-06-03 14:27
2003.06.26
Выделение строки в DBGrid




   Наверх