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

Вниз

TList и new и dispose и ограничение по расмеру   Найти похожие ветки 

 
DimonNew   (2005-03-04 14:58) [0]

Привет, подскажите пожалуста.
Я создаю список указателей на структуру:
type
 PStruct =^TSrtuct;
var
 MyStruct : PStruct;
begin
 new(MyStruct);
 ...
 List.Add(MyStruct);
end;


Имеет ли ограниченя выделяемая память?
И как правильно очистить List, нужно ли использовать Dispose или достаточно List.Free?


 
Reindeer Moss Eater ©   (2005-03-04 15:01) [1]

Имеет ли ограниченя выделяемая память?
Конечно имеет.

И как правильно очистить List, нужно ли использовать Dispose или достаточно List.Free?

Очистить лист - clear.
Освободить память после New - Dispose.


 
begin...end ©   (2005-03-04 15:06) [2]

> DimonNew   (04.03.05 14:58)

> Имеет ли ограниченя выделяемая память?

Естественно, имеет. Ведь если свободная память закончится - ГДЕ же размещать новые данные?

> И как правильно очистить List, нужно ли использовать
> Dispose или достаточно List.Free?

Если речь идёт об экземпляре класса TList, то для очистки самого TList (который является хранилищем указателей) достаточно вызвать List.Free (а если не требуется уничтожение самого объекта List - то достаточно и List.Clear). А вот об освобождении той памяти, на которые эти указатели указывали, т.е. той, которую Вы сами выделяли с помощью New, придётся позаботиться Вам. С помощью Dispose. Т.е. нужно будет вначале для каждого элемента TList (т.е. указателя) вызвать Dispose: Dispose(PStruct(List.Items[...])), а потом уже уничтожить сам список: List.Free.


 
DimonNew   (2005-03-04 15:19) [3]

Спасибо за помощь, вот это Dispose(PStruct(List.Items[...])) меня и интересовало.



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

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

Наверх




Память: 0.45 MB
Время: 0.044 c
9-1103696784
Макс
2004-12-22 09:26
2005.03.20
Наложение текстур.


3-1108641512
kivadim
2005-02-17 14:58
2005.03.20
как организовать историю добавления(изменения) записей


14-1109230163
DelphiN!
2005-02-24 10:29
2005.03.20
Надежность сервера баз данных FireBird 1.5


3-1108542872
AlexTregubov
2005-02-16 11:34
2005.03.20
Точный возраст


14-1109576048
DVM
2005-02-28 10:34
2005.03.20
Помогите потестировать скрипт PHP (разбор HTTP_USER_AGENT)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский